如何从iphone中的数组中删除对象

时间:2013-03-22 12:37:17

标签: ios objective-c cocoa-touch uitableview nsmutablearray

我试图从数组中删除一个对象,当我的表视图得到reload时,从tableview中显示的数组中删除了对象,我正在使用– removeObjectAtIndex:从数组中删除对象。 请帮我永久删除数组中的对象。提前谢谢。

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

    if (editingStyle == UITableViewCellEditingStyleDelete) 
    {

      [myArray removeObjectAtIndex:indexPath.row];

      [tableView reloadData];

    }

}

3 个答案:

答案 0 :(得分: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 :(得分:1)

选择一个NSMutableArray然后删除tableview行数的对象。然后重新加载tableview以应用更改。

例如......

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

确保重新加载tableview,并使用NSMutableArray而不是NSArray

答案 2 :(得分:0)

我认为你从临时数组中删除了这个对象,所以它不会从主数组中删除。所以当你重新加载或者viewwillAppear时,它正在复制..