从NSArray中删除对象
我怎样才能从一个反转的NSArray
删除一个对象。
目前我有一个NSMutableArray
,然后我扭转它
NSArray* reversedCalEvents = [[calEvents reverseObjectEnumerator] allObjects];
现在我需要从reversedCalEvents
或calEvents
删除项目,并根据条件自动刷新数组所显示的表格。 即
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];