此份筆記是根據ISBN:978-986-201-900-9這本書的第19章節所紀錄的。
專案範例延續著這篇,新增刪除資料的動作。
刪除一個託管物件是很容易的,只要呼叫deleteObject:方法,並將要刪除的物件作為參數來傳遞,即可刪除資料。
【專案開發步驟】
刪除一個託管物件:
為了要讓UITableView能夠讓使用者使用刪除功能,必須實作UITableViewDataSource協定中的canEditRowAtIndexPath:與commitEditingStyle:方法如下所示。
override func tableView(tableView: UITableView!, canEditRowAtIndexPath indexPath: NSIndexPath!) -> Bool {
return true
}
決定TableView的Row是否可以被編輯。
override func tableView(tableView: UITableView!, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath!) {
var context: NSManagedObjectContext = managedObjectContext()
if editingStyle == .Delete {
context.deleteObject(recipes.objectAtIndex(indexPath.row) as NSManagedObject)
recipes.removeObjectAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
} else if editingStyle == .Insert {
}
}
先取得託管物件本文,因為NSManagedObjectContext提供了deleteObject:方法,讓我們可以刪除特定的物件。利用本文執行deleteObject:方法,將選到的indexPath.row刪除。Core Data被刪除後也要將TableView上的資料刪除。【執行結果】
【專案範例】
沒有留言:
張貼留言