我正在尝试根据我的json响应数组制作uitabbar。
这是我的json回复
tabs = (
{
id = 0;
name = Home;
},
{
id = 1;
name = Winkel;
},
{
id = 2;
name = Zoeken;
}
); })
现在这是我试过的代码::
func loadTabbarsWithArray(tabs: [AnyObject]) {
if self.tabBarController == nil {
let tabBarController = UITabBarController()
}
self.tabBarController!.viewControllers = [AnyObject]()
var viewControllers: [AnyObject] = [AnyObject](arrayLiteral: 0)
for record: [NSObject : AnyObject] in tabs {
var viewController: UIViewController = UIViewController(nibName: "CustomViewController", bundle: nil)
viewController.title = record["name"]
viewController.tabBarItem.title = record["name"]
viewControllers.append(viewController)
}
self.tabBarController!.viewControllers = viewControllers as? [UIViewController]
}
的图像
答案 0 :(得分:2)
在您的代码中,您尝试使用viewControllers
对象设置UITabBarViewController
的{{1}}属性。根据{{3}},此属性必须为[AnyObject]
。
[UIViewController]?
答案 1 :(得分:1)
试试这个代码段:
func loadTabbarsWithArray(let tabs:[[String: Any]]){
if (self.tabBarController == nil) {
self.tabBarController = UITabBarController();
}
tabBarController!.viewControllers = [UIViewController]();
var viewControllers = [UIViewController]();
for record:[String: Any] in tabs {
let viewController:UIViewController = UIViewController(nibName: "CustomViewController", bundle: nil);
viewController.title = record["name"] as? String;
viewController.tabBarItem.title = record["name"]as? String;
viewControllers.append(viewController);
}
tabBarController!.viewControllers = viewControllers;
}