Swift 3 - 实例化视图控制器后没有成员错误
Posted
技术标签:
【中文标题】Swift 3 - 实例化视图控制器后没有成员错误【英文标题】:Swift 3 - No member error after instantiating view controller 【发布时间】:2017-03-03 22:39:50 【问题描述】:我正在使用 Swift 3、Xcode 8.2。
当我实例化一个视图控制器并尝试访问它的一个变量时,我得到一个:Value of type 'UIViewController' has no member 'someObjectVar'
这是我的代码:
let testVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "testVC") as UIViewController
testVC.someObjectVar = someObject // error is here
self.present(testVC, animated: true, completion: nil)
testVC
中的变量是:
var someObjectVar : someObjectType!
我发现 this question 和我有同样的问题,但解决方案对我不起作用,因为我没有做同样的事情......
任何帮助将不胜感激。
【问题讨论】:
您实际上正在与您链接的问题中的提问者做同样的事情,但他们在 cmets 中建议的解决方案实际上没有意义,因为您需要将您的as UIViewController
更改为 @987654327 @ 而不仅仅是删除它。
【参考方案1】:
您将其投射到 UIViewController 上,它肯定没有该属性。您需要将其转换为您创建的具有与之关联的属性的任何 UIViewController 子类。
【讨论】:
天哪。多么愚蠢的错误!非常感谢您为我指出这一点。以上是关于Swift 3 - 实例化视图控制器后没有成员错误的主要内容,如果未能解决你的问题,请参考以下文章
Xcode & Swift - 无法从 AppDelegate 实例化另一个视图控制器
Swift - 在 AppDelegate 中实例化视图控制器
Xcode Swift 2 变量声明(实例成员不能在类型视图控制器上使用)
使用自定义初始化程序 swift 以编程方式实例化和推送视图控制器