如何在 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 中的记录的主要内容,如果未能解决你的问题,请参考以下文章
如何在 swift 3.0 中编写此代码,特别是如何在 swift3 中使用宏?
如何在 kotlin native 中使用 swift 库?