从NSArray中删除对象

我怎样才能从一个反转的NSArray删除一个对象。

目前我有一个NSMutableArray ,然后我扭转它

 NSArray* reversedCalEvents = [[calEvents reverseObjectEnumerator] allObjects]; 

现在我需要从reversedCalEventscalEvents删除项目,并根据条件自动刷新数组所显示的表格。 即

 if(someInt == someOtherInt){ remove object at index 0 } 

我怎样才能做到这一点? 我无法得到它的工作。

您需要一个可变数组才能删除一个对象。 尝试使用mutableCopy创buildreversedCalEvents

 NSMutableArray *reversedCalEvents = [[calEvents reverseObjectEnumerator] allObjects] mutableCopy]; if (someInt == someOtherInt) { [reversedCalEvents removeObject:object]; } 

以下是使用键值编码的更多function方法:

 @implementation NSArray (Additions) - (instancetype)arrayByRemovingObject:(id)object { return [self filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF != %@", object]]; } @end 

NSArray不可编辑,所以你不能修改它。

您可以将该数组复制到NSMutableArray并从中删除对象。 最后,将NSMutableArray的值重新分配给NSArray。

从这里你会得到一个更好的主意… NSArray +从arrays中删除项目

首先你应该阅读NSMutableArray类来熟悉它。

其次, 这个问题应该告诉你一个简单的方法,从你的NSMutableArray实例中删除对象。

第三,你可以通过发送reloadData消息来使UITableView刷新。

你可以试试这个:

 NSMutableArray* reversedCalEvents = [[[calEvents reverseObjectEnumerator] allObjects] mutableCopy]; [reversedCalEvents removeLastObject];