Сравнение со строковыми литералами работает только в примерах кода. В реальном мире вам часто нужно сравнивать с экземплярами NSString *, например, Массив, в этом случае с помощью selectedObject происходит сбой, поскольку он сравнивается с объектом, а не со значением.
Вы можете добавить категорию к вашей реализации, которая расширяет массив NS (Mutable) с помощью метода проверки, содержит ли он строку (или любой другой тип, с которым вам нужно сравнивать);
@implementation NSMutableArray (ContainsString)
-(BOOL) containsString:(NSString*)string
{
for (NSString* str in self) {
if ([str isEqualToString:string])
return YES;
}
return NO;
}
@end