Créer un menu dynamicment mais en utilisant le même controller de vue

J'essaie de créer un menu de pagination basé sur ButtonBar mais ce sera dynamic car datatables (titre pour le numéro de menu) créées proviendront du server. Malheureusement, il n'y a aucun exemple créé pour cette situation. Je sais que c'est vraiment stupide de requestr un tel exemple parce que je n'ai aucune idée de ce cas. Je veux juste utiliser cette bibliothèque comme nouvelle car elle semble plus lisse que les autres bibliothèques que j'ai utilisées. Donc, j'ai vraiment besoin d'aide avec un exemple de projet apprécié. Et je veux utiliser le même controller de vue pour chaque onglet différent comme UITableViewController pour afficher des données pour chaque onglet.

Toute aide avec ça ??? Un exemple sera apprécié … Merci ..

Ma solution est de faire un appel synchrone au server pour récupérer datatables dont j'ai besoin pour remplir le menu. Il est possible qu'il existe une solution asynchronous mais je n'arrive pas à la comprendre, car mon application dépend complètement des éléments du menu.

fileprivate func parseMenuItems() { self.menuItems = [MenuObject]() let url = URL(ssortingng: MENU_URL) do { let data = try Data(contentsOf: url!) let json = JSON(data: data) for (_, subJson) in json["items"] { guard let name = subJson["name"].ssortingng else {return} guard let url = subJson["url"].ssortingng else {return} let menuItem = MenuObject(name: name, url: url) self.menuItems.append(menuItem) } } catch { print(error) } } 

Pour l'parsing, j'utilise SwiftyJson, mais ce n'est pas pertinent ici.

Cette fonction (parseMenuItems ()) est appelée avant super.viewDidLoad ().

L'étape suivante consiste à remplir les controllers de vue avec datatables de menuItems:

 override func viewControllers(for pagerTabSsortingpController: PagerTabSsortingpViewController) -> [UIViewController] { var children = [UIViewController]() for menuItem in menuItems! { let child = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "TestViewController") as! TestViewController child.name = menuItem.name child.url = menuItem.url children.append(child) } } return children } 

J'espère que cela aide 🙂