我试图使用国际志愿者组织在迅速观察Bool
值,并添加dynamic
修改如下:布尔属性不能被标记动态的,迅速
dynamic var isRestricted:Bool?
和编译器说
财产不能标记为动态因为它的类型不可变为 在Objective-C中表示的代码
那么我应该怎么做?我应该改为NSNumber吗?那么观察价值的最佳做法是什么?
即时通讯使用的xcode 7测试2
我试图使用国际志愿者组织在迅速观察Bool
值,并添加dynamic
修改如下:布尔属性不能被标记动态的,迅速
dynamic var isRestricted:Bool?
和编译器说
财产不能标记为动态因为它的类型不可变为 在Objective-C中表示的代码
那么我应该怎么做?我应该改为NSNumber吗?那么观察价值的最佳做法是什么?
即时通讯使用的xcode 7测试2
的实际问题是,可选布尔值不能表示在Objective-C (并因此未标记动态)。使用非可选
dynamic var isRestricted : Bool = false
应该解决问题。
通常,“自选”的概念在Objective-C
, 但可选引用的NSObject
子类实例不存在被 桥接到在Objective-C可为空的对象指针,所以
dynamic var foo: Foo?
允许如果(且仅)如果Foo
是NSObject
的子类。
的启示!谢谢! –
这是部分正确的。您**可以**具有标记为动态的可选属性,但不包含布尔值或整数。例如,你可以有''var var myObject:MyClass?'' – vomi
@vomi:你完全正确,谢谢你的反馈。我希望现在是正确的。 –
你试过了:'dynamic var isRestricted = Bool()' –