的刪除通常你會使用這樣的事情,如果你在UITableView中刪除,並假設你使用的是fetchedResultsController。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.tableView) {
if (editingStyle == UITableViewCellEditingStyleDelete) {
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
[context deleteObject:[self.fetchedResultsController objectAtIndexPath:indexPath]];
}
}
}
但是,如果你是在一些detailedViewController那麼假設你通過managedObjectContext和managedObject這個detailedViewController(個體經營)你只用這個。再一次假設您將fetchedResultsController與UITableView結合使用,因此刪除操作正確地反映在UITableView中。
[self.managedObjectContext deleteObject:self.managedObject];
可以通過創建屬性和設置像這樣
@interface DetailedViewController: UIViewController
@property (strong, nonatomic) NSManagedObject *detailItem;
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@end
屬性和創建detailedViewController設置的屬性如下所示
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
// Code to create detailed view and set properties
DetailedViewController *detailedViewController = [DetailedViewController alloc] ...;
detailedViewController.managedObjectContext = self.managedObjectContext;
detailedViewController.managedObject = object;
[self.navigationController pushViewController:detailViewController animated:YES];
}
後傳遞這些到detailedViewController顯示代碼您是否使用數據填充UITableView以及如何將對象傳遞給詳細的視圖控制器。 –