Cod*_*ver 21 int realm optional swift swift2
我想在Realm中使用一个可选的Int并且我想到了一个老错误.
码
dynamic var reps: Int? = nil
Run Code Online (Sandbox Code Playgroud)
错误
'Property cannot be marked dynamic because its type cannot be represented in Objective-C'
Run Code Online (Sandbox Code Playgroud)
我使用Realm 0.96.1和XCode 7.1
我在Realm文档中理解它表示Int
不支持Optional
但是https://twitter.com/realm/status/656621989583548416.这是来自Realm twitter,这就是为什么我感到困惑.是Optional Int
支持还是仍然没有?
joe*_*ern 43
来自Realm的文档:
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
}
Run Code Online (Sandbox Code Playgroud)
RealmOptional
支持Int
,Float
,Double
,Bool
,和所有的大小版本Int
(Int8
,Int16
,Int32
,Int64
).
更新:
Realm Tweet中提到的可选Ints 只是关于RealmOptional
实现可选数值的方法的错误修正,其大小版本为Int
据 Realm的人说,RealmOptional
如果你想在Realm对象中拥有可选的数值,你仍然需要使用它.您不能像其他可选类型一样简单地使用它.
所以dynamic var reps: Int?
不行.
归档时间: |
|
查看次数: |
14485 次 |
最近记录: |