При перемещении позиции ячейки в табличном представлении данные области также обновляются.
Я сделал следующее, как и на Android, но это не работает. Вы можете мне помочь?
func updateMoveData(title:String, listId:Int, id:Int, icon:Int)
{
let realm = try! Realm()
let getDbData = realm.object(ofType: MainListRealm.self, forPrimaryKey: id)
try! realm.write {
getDbData?.title = title
getDbData?.listId = listId
getDbData?.icon = icon
}
}
func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) {
let tempstart: Int = to.row
let tempend: Int = fromIndexPath.row
let from: Int = to.row
let too: Int = fromIndexPath.row
if from < too {
updateMoveData(title: mDataSet![tempend].title, listId: mDataSet![tempend].listId, id: mDataSet![tempstart].id, icon: mDataSet![tempend].icon)
for i in from...too-1 {
//print("i = \(i)")
updateMoveData(title: mDataSet![i].title, listId: mDataSet![i].listId, id: mDataSet![i+1].id, icon: mDataSet![i].icon)
}
} else if from > too {
updateMoveData(title: mDataSet![tempend].title, listId: mDataSet![tempend].listId, id: mDataSet![tempstart].id, icon: mDataSet![tempend].icon)
//for i in from...too+1 {
for i in (too+1...from).reversed() {
//print("i = \(i)")
updateMoveData(title: mDataSet![i].title, listId: mDataSet![i].listId, id: mDataSet![i-1].id, icon: mDataSet![i].icon)
}
}
}