Bool 属性 无法在 swift 中标记为动态
Bool Property Cannot be marked dynamic in swift
我正在尝试使用 KVO 观察 swift 中的 Bool
值,并像这样添加 dynamic
修饰符:
dynamic var isRestricted:Bool?
编译器说
Property cannot be marked dynamic because its type canot be
represented in Objective-C
那我该怎么办?我应该为此更改为 NSNumber 吗?那么观察价值的最佳实践是什么?
我正在使用 xcode 7 beta 2
实际问题是 optional 布尔值无法表示
在 Objective-C 中(因此未标记为动态)。使用非可选
dynamic var isRestricted : Bool = false
应该可以解决问题。
一般来说,"optionals"的概念在Objective-C
中是不存在的,
但是对 NSObject
子类实例的可选引用是
桥接到 Objective-C 中的可为空对象指针,因此
dynamic var foo: Foo?
如果(且仅)如果 Foo
是 NSObject
的子类, 是允许的。
我正在尝试使用 KVO 观察 swift 中的 Bool
值,并像这样添加 dynamic
修饰符:
dynamic var isRestricted:Bool?
编译器说
Property cannot be marked dynamic because its type canot be represented in Objective-C
那我该怎么办?我应该为此更改为 NSNumber 吗?那么观察价值的最佳实践是什么?
我正在使用 xcode 7 beta 2
实际问题是 optional 布尔值无法表示 在 Objective-C 中(因此未标记为动态)。使用非可选
dynamic var isRestricted : Bool = false
应该可以解决问题。
一般来说,"optionals"的概念在Objective-C
中是不存在的,
但是对 NSObject
子类实例的可选引用是
桥接到 Objective-C 中的可为空对象指针,因此
dynamic var foo: Foo?
如果(且仅)如果 Foo
是 NSObject
的子类,是允许的。