從境界文檔:
String
,NSDate
,和NSData
屬性可以被聲明爲可選的或非可選使用標準夫特語法。
可選數字類型使用RealmOptional
聲明:
class Person: Object {
// Optional string property, defaulting to nil
dynamic var name: String? = nil
// Optional int property, defaulting to nil
// RealmOptional properties should always be declared with `let`,
// as assigning to them directly will not work as desired
let age = RealmOptional<Int>()
}
let realm = try! Realm()
try! realm.write() {
var person = realm.create(Person.self, value: ["Jane", 27])
// Reading from or modifying a `RealmOptional` is done via the `value` property
person.age.value = 28
}
RealmOptional
支持Int
,Float
,Double
,Bool
,和所有的Int
(Int8
,Int16
,Int32
,Int64
)的尺寸版本。
UPDATE:
只是關於對於具有Int
According到篩分版本實現一個可選的數字值的RealmOptional
方式修正錯誤的認爲是在Tweet由境界提到的可選INTS如果你想在Realm對象中有可選的數值,那麼Realm的傢伙仍然必須使用RealmOptional
。你不能像其他可選類型那樣簡單地使用它。
所以dynamic var reps: Int?
將無法正常工作。
你是否更新了Realm?另外,你在使用Cocoapods嗎?你確定你使用0.96.1嗎? –
是的,我正在使用CocoaPods。 Realm 0.96.1和RealmSwift 0.96.1 –
嘗試使用Int16,32或64.我正在查看文檔,它說它們只支持0.96.1中的文檔。你正在使用Swift 2.0分支,對嗎? –