从NSArray中删除对象

Mat*_*att 4 objective-c uitableview nsmutablearray nsarray ios

如何从反转中删除对象NSArray.

目前我有一个NSMutableArray,然后我反过来

NSArray* reversedCalEvents = [[calEvents reverseObjectEnumerator] allObjects];
Run Code Online (Sandbox Code Playgroud)

现在我需要从项目中删除reversedCalEventscalEvents自动刷新数组根据条件显示的表.即

if(someInt == someOtherInt){
    remove object at index 0
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我无法让它发挥作用.

Mar*_*ams 12

您需要一个可变数组才能删除对象.尝试创建reversedCalEventsmutableCopy.

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

if (someInt == someOtherInt)
{
    [reversedCalEvents removeObject:object];
}
Run Code Online (Sandbox Code Playgroud)

  • 是.这就是我使用NSMutableArray的原因. (4认同)

Rud*_*vič 12

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

@implementation NSArray (Additions)

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

@end
Run Code Online (Sandbox Code Playgroud)