gpt4 book ai didi

swift - Bool 属性无法在 swift 中标记为动态

转载 作者:IT王子 更新时间:2023-10-29 05:38:59 26 4
gpt4 key购买 nike

我正在尝试使用 KVO 快速观察 Bool 值并添加 dynamic 修饰符,如下所示:

dynamic var isRestricted:Bool?

编译器说

Property cannot be marked dynamic because its type canot be represented in Objective-C

那我该怎么办呢?我应该为此更改为 NSNumber 吗?那么观察值(value)的最佳实践是什么?

我正在使用 xcode 7 beta 2

最佳答案

实际问题是不能表示可选 bool 值在 Objective-C 中(因此未标记为动态)。使用非可选

dynamic var isRestricted : Bool = false

应该可以解决问题。

通常,Objective-C中不存在“optionals”的概念,但是对 NSObject 子类实例的可选引用是在 Objective-C 中桥接到可为空的对象指针,所以

dynamic var foo: Foo?

当(且仅)当 FooNSObject 的子类时才允许。

关于swift - Bool 属性无法在 swift 中标记为动态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31131149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com