如何在 Swift 中使用 MagicalRecord CoreData 删除 tableview 中的记录

Posted

技术标签:

【中文标题】如何在 Swift 中使用 MagicalRecord CoreData 删除 tableview 中的记录【英文标题】:How to delete a record in tableview with MagicalRecord CoreData in Swift 【发布时间】:2015-03-15 19:13:33 【问题描述】:

我是 Swift 的新手, 如何使用 Swift 在 CoreData 中使用 MagicalRecord 删除一行 tableview。

我写过这样的代码,但不工作。我该如何解决这个问题。

    override func tableView(tableView: UITableView, commitEditingStyle editingStyle :UITableViewCellEditingStyle,
    forRowAtIndexPath indexPath: NSIndexPath) 

        if editingStyle == .Delete 
            var aCantact=contactArray[indexPath.row]
            aCantact.MR_deleteEntity()
            contactArray.removeAtIndex(indexPath.row)
            NSManagedObjectContext.MR_defaultContext().MR_saveOnlySelfAndWait()
            tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Bottom)
            tableView.reloadData()
        


【问题讨论】:

【参考方案1】:

试试这个

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) 
        switch editingStyle 
        case .Delete:
            // remove the deleted item from the model
            let appDel: AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
            let context: NSManagedObjectContext = appDel.managedObjectContext!
            context.deleteObject(contactArray[indexPath.row] as NSManagedObject)
            contactArray.removeAtIndex(indexPath.row)
            context.save(nil)

            //tableView.reloadData()
            // remove the deleted item from the `UITableView`
            self.tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)

        default:
            return

        
    

【讨论】:

以上是关于如何在 Swift 中使用 MagicalRecord CoreData 删除 tableview 中的记录的主要内容,如果未能解决你的问题,请参考以下文章

如何在OC中使用Swift如何在Swift中使用OC

如何在 swift 3.0 中编写此代码,特别是如何在 swift3 中使用宏?

如何在 kotlin native 中使用 swift 库?

如何在 Swift 中使用 Apple 地图 - 你必须使用 C 还是 Swift 可以?

如何在 Swift 中使用 MKPolylineView

如何在 Swift 中使用`syslog`