gpt4 book ai didi

swift - 不明白为什么swift要我说清楚

转载 作者:搜寻专家 更新时间:2023-10-31 22:00:58 25 4
gpt4 key购买 nike

我正在测试 swift 并且不明白为什么以下几行不起作用。

    let tabBarController = UITabBarController()
tabBarController.viewControllers = [MyViewController1(), MyTableViewController2()]

tabBarController.tabBar.items[0].title = "First"
tabBarController.tabBar.items[1].title = "Second"

编译器告诉我:Could not find member '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"

有人可以向我解释为什么第一个版本不起作用吗?

谢谢

最佳答案

如您所知,tabBar.items 是一个 AnyObject 数组,本质上是 id。您必须像使用 as UITabBarItem 一样向下转型。

推荐的一种更好的方法是在开始访问之前向下转换整个数组。所以它看起来像这样:

let tabItems = tabBar.items as [UITabBarItem]
tabItems[0].title = "First"
//...

关于swift - 不明白为什么swift要我说清楚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24124635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com