我有一個集合視圖,您可以選擇多個單元格刪除。這意味着如果刪除多個單元格,則還應該在每個單元格的Realm-1對象中刪除多個對象。刪除對象 - 斯威夫特
我有一個函數,它接受的,這將從集合視圖的所選indexPaths填充Int
的陣列。
的問題是,我不知道如何做到既
1)刪除領域和對象
2)有List
最新不包含已刪除對象
我的代碼是:
我得到像這樣的索引路徑:
let indexPaths = collectionView.indexPathsForSelectedItems
這是我的功能獲取indexPaths,更新List
,並刪除Realm中的對象。它目前不工作,因爲對象沒有被刪除。我注意到removeAll
不會刪除任何東西。
func removeVideos(at indexes: [Int]) {
let newVideos = List<Video>()
for (index, video) in favorite!.videos.enumerated() {
if !indexes.contains(index) {
newVideos.append(video)
}
}
let realm = try! Realm()
try! realm.write {
favorite!.videos.removeAll()
newVideos.forEach { newVideo in
favorite!.videos.append(newVideo)
}
}
}
我調用該函數像這樣:
removeVideos(at: indexPaths.map { $0.item })
有什麼想法?
精彩的解釋!在幫助其他人方面,你是所有軟件開發領域的最佳人選 - 再次感謝您始終以良好的方式提供清晰直接的答案:) – JEL
快速跟進,因爲這是由用戶發起的,您是否建議使用通知塊或使用Realm的'Interface-Driven Write'來刪除選中的單元格? – JEL
喜添,能否請你看看這個(我沒有看到任何領域的示例代碼,以幫助它):http://stackoverflow.com/questions/42988499/realm-object-level-notifications- inside-uicollectionviewcells – JEL