NSArray
похож на список указателей, каждый указатель указывает на объект.
Если вы вызываете:
[someArray removeObject:@"B"];
Вы создаете новый объект NSString
, который содержитСтрока "B".Адрес этого объекта отличается от объекта NSString
в массиве.Поэтому NSArray
не может найти его.
Вам нужно будет пройти через массив и определить, где находится объект, затем вы просто удалите его, используя removeObjectAtIndex: