Ich benutze XLPagerTabStrip
, um eine kategoriebasierte Lese-App in Swift 4 zu erstellen. Ich lernte statische Nummer von ViewControllern kann leicht mit der folgenden Funktion erstellt werden.Dynamische Anzahl der ChildViewControllers für XLPagerTabStrip
Allerdings hängt die Anzahl der Kategorien in meinem Fall von der Serverantwort ab, die sich je nach Bedarf ändern kann. Ich habe versucht, eine dynamische Anzahl von Registerkarten zu erstellen, indem ich View-Controller basierend auf dem Namen der Kategorien, die ich aus der json-Antwort analysiert habe, erstellt habe. Dies ist die Methode, die ich getroffen und getestet habe.
override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
var childrenVC = [UIViewController]()
for eachCategory in postCategories {
print(eachCategory)
let newVC = self.storyboard?.instantiateViewController(withIdentifier: "FirstTVC") as? FirstTVC
newVC?.childName = eachCategory.name
childrenVC.append(newVC!)
self.reloadPagerTabStripView()
self.reloadInputViews()
}
return childrenVC
}
Ja, es ist fehlgeschlagen. Wie kann ich in diesem Fall eine dynamische Anzahl von Tabs erreichen? Wenn nicht, bin ich auch offen für jede andere Alternative. Ich bin mit JSON Antwort Sache fertig, aber steckte in diesem Schritt. Diese SO answer und Github Issue half auch nicht.
Erprobt und getestet auch, gibt fatalError ("ViewControllers (für :) sollte mindestens einen Kind View-Controller zur Verfügung stellen") Fehler – amagain
Dies ist aufgrund "ChildrenVC" ist leer, stellen Sie bitte sicher, "postCategories" ist nicht leer – YinKiet