Swift Don';我不明白为什么斯威夫特要我直截了当
我正在测试swift,不明白为什么下面的代码行不通Swift Don';我不明白为什么斯威夫特要我直截了当,swift,Swift,我正在测试swift,不明白为什么下面的代码行不通 let tabBarController = UITabBarController() tabBarController.viewControllers = [MyViewController1(), MyTableViewController2()] tabBarController.tabBar.items[0].title = "First" tabBarController.tabBar.items[1
let tabBarController = UITabBarController()
tabBarController.viewControllers = [MyViewController1(), MyTableViewController2()]
tabBarController.tabBar.items[0].title = "First"
tabBarController.tabBar.items[1].title = "Second"
编译器告诉我:找不到成员“title”
如果我把参数分成多个变量,那么它就可以工作了
let tabBarController = UITabBarController()
tabBarController.viewControllers = [MyViewController1(), MyTableViewController2()]
let tabBar = tabBarController.tabBar
let tabBarItem0 = tabBar.items[0] as UITabBarItem
let tabBarItem1 = tabBar.items[1] as UITabBarItem
tabBarItem0.title = "First"
tabBarItem1.title = "Second"
有人能给我解释一下为什么第一个版本不起作用吗
谢谢正如您所意识到的,
选项卡栏。items
是任何对象的数组
,它本质上是id
。您必须像对待那样将其降级为uitabaritem
建议使用一种更好的方法,即在开始访问之前向下转换整个阵列。所以看起来是这样的:
let tabItems = tabBar.items as [UITabBarItem]
tabItems[0].title = "First"
//...
啊-好的。谢谢-我会再看一次下行部分。