无法分配给属性“tabBarController”是一个只能获取的属性

Posted

技术标签:

【中文标题】无法分配给属性“tabBarController”是一个只能获取的属性【英文标题】:Cannot assign to property 'tabBarController' is a get-only property 【发布时间】:2017-01-13 13:08:32 【问题描述】:

我已经声明了一个全局变量:

var tabBarController: UITabBarController?

现在,当我尝试在 UITabBarController 类中分配这个全局变量时:

override func viewDidLoad() 
        tabBarController = self

我收到此错误:

不能分配给属性“tabBarController”是一个只能获取的属性

我为什么会得到这个?

【问题讨论】:

【参考方案1】:

您自己的属性与每个UIViewController 都具有的同名属性发生冲突:

tabBarController - 视图控制器层次结构中最近的祖先是标签栏控制器。

var tabBarController: UITabBarController?  get 

您可以清楚地看到该属性是get-only。

如果您为该属性选择不同的名称,您会很好。或者你预先在接口构建器中配置所有连接。

【讨论】:

你真是个天才!

以上是关于无法分配给属性“tabBarController”是一个只能获取的属性的主要内容,如果未能解决你的问题,请参考以下文章

无法分配给属性:“操作”是仅获取属性

无法分配给属性:“值”是一个只能获取的属性 RxSwift -

Swiftui 无法分配给属性:'self' 是不可变的错误

无法分配给对象的只读属性

TypeError:无法分配给只读属性 - Karma

无法分配给属性:“xxxx”是一个只能获取的属性