@@ -11,13 +11,13 @@ import UIKit
1111open class TabPageViewController : UIPageViewController {
1212 open var isInfinity : Bool = false
1313 open var option : TabPageOption = TabPageOption ( )
14- open var tabItems : [ ( viewController : UIViewController , title : String ) ] = [ ]
14+ open var tabItems : [ UIViewController ] = [ ]
1515
1616 var currentIndex : Int ? {
1717 guard let viewController = viewControllers? . first else {
1818 return nil
1919 }
20- return tabItems. map { $0 . viewController } . index ( of: viewController)
20+ return tabItems. index ( of: viewController)
2121 }
2222 fileprivate var beforeIndex : Int = 0
2323 fileprivate var tabItemsCount : Int {
@@ -81,7 +81,7 @@ public extension TabPageViewController {
8181
8282 beforeIndex = index
8383 shouldScrollCurrentBar = false
84- let nextViewControllers : [ UIViewController ] = [ tabItems [ index] . viewController ]
84+ let nextViewControllers = [ tabItems [ index] ]
8585
8686 let completion : ( ( Bool ) -> Void ) = { [ weak self] _ in
8787 self ? . shouldScrollCurrentBar = true
@@ -109,7 +109,7 @@ extension TabPageViewController {
109109 delegate = self
110110 automaticallyAdjustsScrollViewInsets = false
111111
112- setViewControllers ( [ tabItems [ beforeIndex] . viewController ] ,
112+ setViewControllers ( [ tabItems [ beforeIndex] ] ,
113113 direction: . forward,
114114 animated: false ,
115115 completion: nil )
@@ -175,7 +175,7 @@ extension TabPageViewController {
175175
176176 view. addConstraints ( [ top, left, right] )
177177
178- tabView. pageTabItems = tabItems. map ( { $0. title} )
178+ tabView. pageTabItems = tabItems. map { $0. title ?? " " }
179179 tabView. updateCurrentIndex ( beforeIndex, shouldScroll: true )
180180
181181 tabView. pageItemPressedBlock = { [ weak self] ( index: Int , direction: UIPageViewControllerNavigationDirection ) in
@@ -292,8 +292,7 @@ extension TabPageViewController {
292292extension TabPageViewController : UIPageViewControllerDataSource {
293293
294294 fileprivate func nextViewController( _ viewController: UIViewController , isAfter: Bool ) -> UIViewController ? {
295-
296- guard var index = tabItems. map ( { $0. viewController} ) . index ( of: viewController) else {
295+ guard var index = tabItems. index ( of: viewController) else {
297296 return nil
298297 }
299298
@@ -312,7 +311,7 @@ extension TabPageViewController: UIPageViewControllerDataSource {
312311 }
313312
314313 if index >= 0 && index < tabItems. count {
315- return tabItems [ index] . viewController
314+ return tabItems [ index]
316315 }
317316 return nil
318317 }
0 commit comments