访问 indexPath.row 字段变量
accessing indexPath.row field variables
在 xcode 中,我试图添加一些方法来记录从表视图中删除的内容。
这是我的删除代码
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSManagedObjectContext *context = [self managedObjectContext];
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete object from database
[context deleteObject:[self.contacts objectAtIndex:indexPath.row]];
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Can't Delete! %@ %@", error, [error localizedDescription]);
return;
}
NSManagedObject *device = [self.contacts objectAtIndex:indexPath.row];
NSLog(@"Deleting %@ ", [device valueForKey:@"name1"]);
// Remove contact from table view
[self.contacts removeObjectAtIndex:indexPath.row];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
除了这两行之外都是相当标准的东西
NSManagedObject *device = [self.contacts objectAtIndex:indexPath.row];
NSLog(@"Deleting %@ ", [device valueForKey:@"name1"]);
我试图在删除之前访问该行字段中的数据,但 NSLog returns 为空。我尝试了其他变体,并且有一个版本返回了前一行中的变量!
我在这里错过了什么?
您正在尝试在删除对象并通过保存提交此操作后打印对象。
您只需移动以下几行:
NSManagedObject *device = [self.contacts objectAtIndex:indexPath.row];
NSLog(@"Deleting %@ ", [device valueForKey:@"name1"]);
在您拨打 [context save:&error]
上方
在我看来,您在删除数据后试图访问这些数据。移动这个
NSManagedObject *device = [self.contacts objectAtIndex:indexPath.row];
NSLog(@"Deleting %@ ", [device valueForKey:@"name1"]);
在此之前
[context deleteObject:[self.contacts objectAtIndex:indexPath.row]];
在 xcode 中,我试图添加一些方法来记录从表视图中删除的内容。
这是我的删除代码
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSManagedObjectContext *context = [self managedObjectContext];
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete object from database
[context deleteObject:[self.contacts objectAtIndex:indexPath.row]];
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Can't Delete! %@ %@", error, [error localizedDescription]);
return;
}
NSManagedObject *device = [self.contacts objectAtIndex:indexPath.row];
NSLog(@"Deleting %@ ", [device valueForKey:@"name1"]);
// Remove contact from table view
[self.contacts removeObjectAtIndex:indexPath.row];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
除了这两行之外都是相当标准的东西
NSManagedObject *device = [self.contacts objectAtIndex:indexPath.row];
NSLog(@"Deleting %@ ", [device valueForKey:@"name1"]);
我试图在删除之前访问该行字段中的数据,但 NSLog returns 为空。我尝试了其他变体,并且有一个版本返回了前一行中的变量!
我在这里错过了什么?
您正在尝试在删除对象并通过保存提交此操作后打印对象。
您只需移动以下几行:
NSManagedObject *device = [self.contacts objectAtIndex:indexPath.row];
NSLog(@"Deleting %@ ", [device valueForKey:@"name1"]);
在您拨打 [context save:&error]
在我看来,您在删除数据后试图访问这些数据。移动这个
NSManagedObject *device = [self.contacts objectAtIndex:indexPath.row];
NSLog(@"Deleting %@ ", [device valueForKey:@"name1"]);
在此之前
[context deleteObject:[self.contacts objectAtIndex:indexPath.row]];