Я использую один NSMutableArray с тем же строковым объектом.NSMutableArray удаляет все объекты одной строкой
Вот код
NSMutableArray *arr = [[NSMutableArray alloc]initWithObjects:@"hello",@"hi",@"hi",@"hi",@"hi",@"hi",@"hi",@"hi",@"hi",@"hi",@"hi",@"hi",@"hi",nil];
NSObject *obj = [arr objectAtIndex:2];
[arr removeObject:obj];
NSLog(@"%@",arr);
При попытке удалить 3-й объект массива, его удаление всех объектов с «приветом» строкой. Я не понимаю, почему это происходит.
Мое сомнение при удалении объекта, NSMutableArray соответствует строке или адресу.
Предупреждение Typo: 'removeObjectAtInded' должен иметь' x' в конце :-). –
Дополнительная информация о строковых литералах: http://stackoverflow.com/a/25798/250164 –
Исправление: метод removeObject не удаляет все одинаковые объекты. Скорее, он удаляет только одно его появление. Чтобы удалить все «равные» объекты, мы должны использовать метод removeObjectIdendicalTo. – santobedi