4
如何防止將重複項添加到RealmSwift
的列表中?如何防止RealmSwift列表中的重複項?
我有我的User
作爲領域對象,但真正的數據源是服務器(簡單地用Realm在本地緩存用戶)。當我從服務器獲取當前用戶數據時,我想確保存儲在領域中的用戶具有來自服務器的所有播放列表(以及它們與軌道列表等同步)。我很擔心,如果我從服務器上遍歷這些列表,附加到myUser.playlists
,那麼我可能會多次將相同的播放列表添加到用戶的播放列表中。
class User: Object {
dynamic var name = ""
dynamic var id = ""
let playlists = List<Playlist>()
override class func primaryKey() -> String {
return "id"
}
}
class Playlist: Object {
dynamic var name = ""
dynamic var id = ""
let tracks = List<Song>()
override class func primaryKey() -> String {
return "id"
}
}
class Song: Object {
dynamic var title = ""
let artists = List<Artist>()
dynamic var id = ""
override class func primaryKey() -> String {
return "id"
}
}
class Artist: Object {
dynamic var name = ""
dynamic var id = ""
override class func primaryKey() -> String {
return "id"
}
}