我有两个RealmSwift对象:
final class ListDB: Object {
dynamic var name:String?
dynamic var server_id:String?
let friends = List<Friend>()
override static func primaryKey() -> String? {
return "server_id"
}
}
并且
final class Friend: Object {
dynamic var id:String?
dynamic var name:String?
let lists = LinkingObjects(fromType:ListDB.self, property: "friends")
override static func primaryKey() -> String? {
return "id"
}
}
我尝试将朋友附加到ListDB,如下所示:
let list = self.realm.object(ofType: ListDB.self, forPrimaryKey: "SomeListID")
let friend = self.realm.object(ofType: Friend.self, forPrimaryKey: "SomeFriendID")
if friend != nil && list != nil {
try! self.realm.write {
list?.friends.append(friend!)
}
}
如果我尝试
,它会正常工作print(list?.friends)
当我还在同一个会话中时工作正常但是如果我关闭应用并重新打开它,那么指定列表中的朋友就会消失,就像他们从未添加过一样,我做错了什么?
我使用RealmSwift最新版本,iOS 10.0作为部署目标。
在我添加了朋友之后,我也尝试更新了这个列表,但它也没有用过。
try! self.realm.write {
self.realm.add(list!, update: true)
}
任何帮助将不胜感激, 提前谢谢。