2013-03-22 80 views
-1

我想从数组中删除一个对象,当我的表视图获取reload,从tableview中显示的数组中删除对象时,我正在使用– removeObjectAtIndex:从数组中删除对象。 请帮我从数组永久删除对象。提前感谢。如何从iphone中的数组中删除一个对象

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

    if (editingStyle == UITableViewCellEditingStyleDelete) 
    { 

     [myArray removeObjectAtIndex:indexPath.row]; 

     [tableView reloadData]; 

    } 

} 
+1

添加一些代码... – Bhavin 2013-03-22 12:39:03

+1

你是否重新加载你的tableview之前或之后,你从数组中删除对象? – tttthomasssss 2013-03-22 12:39:23

+0

'removeObjectAtIndex'应该可以工作。你确定你要发送正确的索引吗?数组中的第一项是C中的索引0,与某些语言不同。 – GeneralMike 2013-03-22 12:40:21

回答

4

NSMutableArray的方法删除对象:

– removeAllObjects 
– removeLastObject 
– removeObject: 
– removeObject:inRange: 
– removeObjectAtIndex: 
– removeObjectsAtIndexes: 
– removeObjectIdenticalTo: 
– removeObjectIdenticalTo:inRange: 
– removeObjectsFromIndices:numIndices: 
– removeObjectsInArray: 
– removeObjectsInRange: 

参见:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsmutablearray_Class/Reference/Reference.html

,并且确保你刷新你的表格你从数组删除对象后。并将适当的计数发送给tableview委托。

1

取一个NSMutableArray,然后删除tableview行数的对象被选中。然后重新加载tableview来应用更改。

例如....

[yourArray removeObjectAtIndex:indexPath.row]; 
[tableView reloadData]; 

确保你重新加载tableview中,并采取不NSMutableArray的NSArray的

0

我想你删除从临时数组对象,所以它不会从主删除array.so当你重新加载或viewwillAppear,它正在复制..