Dalla documentazione Realm:
String
, NSDate
, e NSData
proprietà possono essere dichiarate come optional o non-opzionale utilizzando la sintassi Swift standard.
tipi numerici opzionali vengono dichiarate utilizzando 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
supporta Int
, Float
, Double
, Bool
, e tutte le versioni di dimensioni di Int
(Int8
, Int16
, Int32
, Int64
).
UPDATE:
gli INT opzionali che sono stati menzionati nella Tweet dal regno erano appena riguardante un bugfix per la RealmOptional
modo di attuare un valore numerico opzionale con le versioni di dimensioni di Int
According a i ragazzi di Realm devono ancora usare RealmOptional
se si desidera avere valori numerici facoltativi in un oggetto Realm. Non puoi semplicemente usarlo come altri tipi Opzionali.
Quindi dynamic var reps: Int?
non funziona.
Hai aggiornato il Regno? Inoltre, stai usando Cocoapods? Sei sicuro di usare 0.96.1? –
Sì, sto usando CocoaPods. Realm 0.96.1 e RealmSwift 0.96.1 –
Prova ad usare un Int16, 32 o 64. Sto guardando i documenti e dice che supportano solo quelli in 0.96.1. Stai usando il ramo Swift 2.0, giusto? –