的删除通常你会使用这样的事情,如果你在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以及如何将对象传递给详细的视图控制器。 –