在實施滑動刪除功能時,我遇到了以下問題: 當我刪除該項目時,數組中的最後一項佔據了它的位置。tableView和Realm數據庫之間的差異
因此,例如我有數組[1,2,3,4,5]。刪除2(索引1)後,數據庫中的數組看起來是這樣的[1,5,3,4]。但表格視圖顯示一切正確[1,3,4,5]。爲什麼這樣?我想要這樣保存Realm物品[1,3,4,5]。
下面如果功能實現:
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
try! realm.write {
let itemToDelete = items[indexPath.row]
realm.delete(itemToDelete)
}
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Top)
}
}
我真的很感謝您的幫助!
如果表格視圖中的項目顯示正確(「1,3,4,5」),您如何知道它們被錯誤地存儲在領域?我試圖重現你的行爲,但我不能。如果您可以爲您的問題添加更多代碼,包括您的Realm模型如何設置以及您的表視圖如何使用這些模型,那就太好了。謝謝! – AustinZ
@AustinZ我使用Realm Browser來查看數據庫的行爲。感謝下面的答案,我看到我的排序問題。 – Robert