我正在尝试观察Bool
使用 KVO 并添加 swift 中的值dynamic
像这样的修改器:
dynamic var isRestricted:Bool?
编译器说
属性无法标记为动态,因为其类型无法在 Objective-C 中表示
那我该怎么办呢?我应该为此更改为 NSNumber 吗?那么观察价值的最佳实践是什么?
我正在使用 Xcode 7 beta 2
实际的问题是optional布尔值无法表示
在 Objective-C 中(因此未标记为动态)。使用非可选
dynamic var isRestricted : Bool = false
应该可以解决问题。
一般来说,“可选”的概念不存在Objective-C
,
但可选引用实例NSObject
子类是
桥接到 Objective-C 中的可空对象指针,所以
dynamic var foo: Foo?
被允许当(且仅)当Foo
是一个子类NSObject
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)