Чтобы удалить элементы спереди или сзади, вы можете использовать subarrayWithRange
, т. Е .:
NSRange allExceptLast;
allExceptLast.location = 0;
allExceptLast.length = [self.toolbarItems count] - 1;
self.toolbarItems = [self.toolbarItems subarrayWithRange:allExceptLast];
Если вы хотите удалить объекты из середины, вы можете использовать -[NSArray filteredArrayUsingPredicate:]
(что может быть слишком сложно) или грубую силу:
NSMutableArray *mutToolbarItems = [NSMutableArray arrayWithArray:self.toolbarItems];
[mutToolbarItems removeObjectAtIndex:<index of object>];
self.toolbarItems = mutToolbarItems;
Обратите внимание, что вы не должны отправлять removeObjectAtIndex:
на self.toolbarItems
напрямую (даже если вы используете вышеупомянутый метод), поскольку toolbarItems
отображается как NSArray
- вы получите предупреждение компилятора, и возможно, сбой (так как вы не можете контролировать, будет ли он фактически реализован как NSMutableArray
за кулисами).