当我尝试从我的Realm中获取一个对象时,我偶然发现了一个奇怪的事情(iOS,Swift,Realm版本0.98.2)
print("speaker:")
print(RealmProvider.appRealm.objects(FavoriteSpeaker).first!)
Run Code Online (Sandbox Code Playgroud)
正确地将我的对象转储到控制台中:
speaker:
FavoriteSpeaker {
name = Ashley Nelson-Hornstein;
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图获得该name物业的价值时:
print("speaker name:")
print(RealmProvider.appRealm.objects(FavoriteSpeaker).first!.name)
Run Code Online (Sandbox Code Playgroud)
我得到一个空字符串
speaker name:
Run Code Online (Sandbox Code Playgroud)
这四条线在我的模型init方法中是一起的
更新1:我找到了一个答案,表明您在控制台中打印时只看不到值:Realm对象缺少除primaryKey之外的所有属性,但我也尝试name通过警报视图显示该属性,这也是空的.
更新2:只是为了确保一切顺序发生并且在同一个线程上我做了这个:
let favorite1 = FavoriteSpeaker()
favorite1.name = "Debbie Downer"
try! RealmProvider.appRealm.write {
RealmProvider.appRealm.deleteAll()
RealmProvider.appRealm.add(favorite1)
}
print("speaker:")
print(RealmProvider.appRealm.objects(FavoriteSpeaker.self).first!)
print("speaker name:")
print(RealmProvider.appRealm.objects(FavoriteSpeaker.self).first!.name)
Run Code Online (Sandbox Code Playgroud)
但结果是一样的 - 打印name打印一个空字符串
| 归档时间: |
|
| 查看次数: |
1903 次 |
| 最近记录: |