下面是我的代码:(我想重新排序表并更新核心数据):
override func tableView(tableView: UITableView, moveRowAtIndexPath fromIndexPath: NSIndexPath, toIndexPath: NSIndexPath) {
let entity = NSEntityDescription.entityForName(entity, inManagedObjectContext: managedContext)
let entityObject = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: managedContext)
entityObject.setValue(content, forKey: key)
self.managedContext.insertObject(entityObject, atIndex: 0) //ERROR HERE
do {
try managedContext.save()
} catch let error as NSError {
}
}
我见过类似的代码here但为什么我的代码不起作用?谢谢!
最佳答案
你提供的链接和你在这里做的不一样。他在那里做的是将对象移除并插入到Playlist
数组中。
如果您真的想重新排序表并相应地更新核心数据,那么您可能想在核心数据模型中添加一个index
字段,并在每次移动单元格时用单元格索引更新它。
因此,您可以按照index
字段的顺序将数据填充到表视图中,并使单元格顺序与数据模型保持同步。
关于ios - managedContext.insertObject在Swift中调用`atIndex`的额外参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34811508/