Вы пытаетесь сравнить NSString
со строкой C (char *
), что неверно. matchArray
- это NSArray
, поэтому вы также не можете рассматривать его как массив C, вы должны использовать его метод objectAtIndex:
и передать индекс.
Используйте это вместо:
if ([[matchArray objectAtIndex:0] isEqualToString:@"asdf"]) {
NSLog(@"matchArray %@", matchArray);
}
Обращаясь к вашим комментариям, причина, по которой isEqualToString:
не отображается в автозаполнении, заключается в том, что XCode не может догадаться, что matchArray
содержит NSString
s (он знает только, что он содержит id
s, то есть произвольный Objective- С объектов). Если вы действительно хотите быть уверены, вы можете выполнить явное приведение, но это не имеет значения, если вы этого не сделаете:
if ([(NSString *)[matchArray objectAtIndex:0] isEqualToString:@"asdf"]) {
NSLog(@"matchArray %@", matchArray);
}