【发布时间】:2015-10-25 18:44:33
【问题描述】:
如何解决这个编译错误?
dynamic var users = [User]()
属性不能被标记为动态,因为它的类型不能在 Objective-C 中表示
我需要dynamic 以便某些视图控制器可以观察(通过KVO)users 并在users 更改时更新他们的视图。
【问题讨论】:
-
非常清晰的错误信息。你不明白哪个词?
-
我明白了。我不知道如何解决它。查看更新。
-
用户是 NSObject 的子类吗?
-
@vikingosegundo 不,不是。我认为使它成为
NSObject的子类有效!谢谢! :-) 如果我没记错的话,在早期版本的 Swift 中,它不是NSObject的子类,即只有观察者必须是NSObject的子类。我更喜欢这种方式,因为我不明白为什么User需要成为NSObject的子类。 -
我认为观察到的对象总是需要是 NSObject 的子类。从 2 月开始,这篇文章也提到了这一点。 blog.scottlogic.com/2015/02/11/swift-kvo-alternatives.html
标签: objective-c xcode swift swift2 key-value-observing