【问题标题】:Dynamic optional properties in Swift 2.0Swift 2.0 中的动态可选属性
【发布时间】:2015-10-19 03:03:05
【问题描述】:

我已经看过这篇帖子Optional dynamic properties in Swift,但我不想在NSObject 中结束课程。这只是关于 Realm 数据库,我不必拥有nil 属性,但我认为这是对我的数据库建模的好方法。在可以在这里找到https://realm.io/docs/swift/latest/ 的领域文档中,它说支持选项。这是我的

代码

dynamic var complete: Bool? = nil

这是我的

错误

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

我知道这与上述帖子的代码和错误相同,但我只是好奇 Realm 文档是否说它支持它,他们还有其他解决方法吗?

【问题讨论】:

    标签: ios swift2 realm optional


    【解决方案1】:

    来自supported typesoptional properties 上的文档。

    StringNSDateNSData 和对象属性可以是可选的。使用 RealmOptional 存储可选号码。

    RealmOptional 支持IntFloatDoubleBool,以及Int 的所有大小版本(Int8Int16Int32、@987654) .

    因此,StringNSDateNSDataObject 类型可以使用标准的 swift 语法很好地支持可选参数。

    对于使用RealmOptional 完成的其他数字类型(例如Bool)。然后要使用这个RealmOptional 类型的变量,您可以访问它的value 属性,这是一个表示您的基础值的可选属性。

    // definition (defined with let)
    let complete = RealmOptional<Bool>()  // defaults to nil
    // usage
    complete.value = false  // set non-nil value
    ...
    complete.value = nil    // set to nil again
    

    【讨论】:

    • 你需要把let complete: RealmOptional&lt;Bool&gt;()改成let complete = RealmOptional&lt;Bool&gt;()
    猜你喜欢
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    相关资源
    最近更新 更多