Ответ 1
Из документов Realm:
NSDate String, NSDate и NSData могут быть объявлены как необязательные или необязательные с использованием стандартного синтаксиса Swift.
Дополнительные числовые типы объявляются с использованием 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).
ОБНОВИТЬ:
Необязательные Инты, которые были упомянуты в Tweet от Realm, RealmOptional только исправления для RealmOptional способа реализации необязательного числового значения с размерами версий Int
По словам ребята из Realm, вам все равно придется использовать RealmOptional если вы хотите иметь дополнительные числовые значения в объекте Realm. Вы не можете просто использовать его, как и другие необязательные типы.
Итак, dynamic var reps: Int? не будет работать.