2010-07-14 42 views

回答

2

一个简单的例子是:

// create a mutable array to manage your table data 
NSMutableArray *tableList; 

@property (nonatomic, retain) NSMutableArray *tableList; 
viewDidLoad方法

可以使用数据对其进行初始化(你应该检查是否tableList是零第一虽然)

NSString *path = [[NSBundle mainBundle] pathForResource:@"TableData" ofType:@"plist"]; 
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:path]; 

self.tableList = array; 
[array release]; 

在实现文件,请执行此代表方法

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 

    NSUInteger row = [indexPath row]; 
    [self.tableList removeObjectAtIndex:row]; 

    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 

} 

您c然后切换编辑模式通过

[self.tableView setEditing:!self.tableView.editing animated:YES]; 
+0

我已经设置了阵列。实施委托方法。这工作完美。非常感谢。 – jarryd 2010-07-15 09:04:17

1

看看表格视图数据源代理方法-tableView:commitEditingStyle:forRowAtIndexPath:

您在表视图委托(通常是您的表视图控制器)中重写此方法,并将删除逻辑放在此处。

例如,您可以调用UIAlertView来要求用户确认删除操作,或直接操作数据模型,从表视图的数据源中删除该对象。

+0

谢谢。如果我想要移除例如数组的索引4,该数组是否需要使用或自动完成? Regards – jarryd 2010-07-14 22:09:40

+0

我在想一个案例,你需要在删除数组的一个元素后进行度量。插入,你可能需要去度假。删除,我不太确定。 – 2010-07-14 22:11:25

+0

无论如何,在更改数据源后,可以调用'[tableView reloadData]'或[tableView deleteRowsAtIndexPaths:... withRowAnimation:...]'来告诉表视图从数据源刷新其表示。最好使用第二个选项,因为它需要较少的工作,但如果您想测试一下,第一个选项很方便。 – 2010-07-14 22:12:54