gpt4 book ai didi

swift - UITableView CoreData 顺序与部分

转载 作者:行者123 更新时间:2023-11-30 10:02:30 26 4
gpt4 key购买 nike

我正在四处寻找类似的场景,但找不到包含我需要的所有功能的任何内容。环顾四周,我编写了 moveRowAtIndexPath 方法的实现,如下所示,但我在修改对 coredata 对象的引用时遇到了一些问题,因此当我单击“完成”时,coredata 上不会保存任何内容。

override func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
userDrivenDataModelChange = true;

if (sourceIndexPath == destinationIndexPath) {
return
}

let rooms = fetchedResultsController.sections!

let sourceRoom = rooms[sourceIndexPath.section]
let destinationRoom = rooms[destinationIndexPath.section]

var sourceLights = sourceRoom.objects as! [Light]
var destinationLights = destinationRoom.objects as! [Light]
let light = sourceLights[sourceIndexPath.row]

sourceLights.removeAtIndex(sourceIndexPath.row)
destinationLights.insert(light, atIndex: destinationIndexPath.row)

(destinationLights as NSArray).enumerateObjectsUsingBlock({ object, index, stop in
let light = object as! Light
light.position = index
})

tableView.reloadData()

Utils.saveContext(getAppDelegate().context)

userDrivenDataModelChange = false;
}

最佳答案

缺少的部分是将新房间设置为我要移动的项目。像这样的东西:

item.relationRoom = <destination room object>

当您在同一房间内移动灯光时,也需要进行一些调整。

关于swift - UITableView CoreData 顺序与部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37660210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com