2015-10-19 37 views
7

我看到这篇文章Optional dynamic properties in Swift但我不想在NSObject中包装类。这只是关于Realm数据库,我不必拥有nil属性,但这将是一种很好的方式来模拟我的数据库。在这里可以找到的Realm文档https://realm.io/docs/swift/latest/它说选项是支持的。这里是我的Swift 2.0中的动态可选属性

代码

dynamic var complete: Bool? = nil 

,这里是我的

错误

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

我知道这是相同的代码和错误上面一样,但我的帖子我只是好奇,如果Realm文档说它支持它,他们是否有另一个工作?

回答

11

来自supported typesoptional properties的文档。

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

RealmOptional支持IntFloatDoubleBool,和所有的Int的尺寸的版本(Int8Int16Int32Int64)。

所以选配的支持StringNSDateNSDataObject类型很好地与标准迅速语法。

对于使用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 
+2

你需要改变'让齐全:RealmOptional ()''来完成,让= RealmOptional ()' –