下面是我的代码:(我想重新排序表并更新核心数据):

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/

10-12 03:09