NSArray содержит объект NSString не работает? - PullRequest
2 голосов
/ 23 июня 2011

У меня есть список массивов (RatingsList), содержащий нижеприведенное содержимое

<CFArray 0x910e1a0 [0x2952380]>{type = mutable-small, count = 8, values = (
    0 : <CFString 0x910e0d0 [0x2952380]>{contents = "NR-Adult"}
    1 : <CFString 0x910e0f0 [0x2952380]>{contents = "NC-17/TV-MA"}
    2 : <CFString 0x910e110 [0x2952380]>{contents = "R"}
    3 : <CFString 0x910e120 [0x2952380]>{contents = "PG-13/TV-14"}
    4 : <CFString 0x910e140 [0x2952380]>{contents = "PG/TV-PG"}
    5 : <CFString 0x910e160 [0x2952380]>{contents = "G/TV-G"}
    6 : <CFString 0x910e170 [0x2952380]>{contents = "TV-Y/TV-Y7"}
    7 : <CFString 0x910e190 [0x2952380]>{contents = "NR"}

, который мы сравниваем для PG-13

[RatingsList containsObject:@"PG-13"] 

, возвращаем false.

Ответы [ 2 ]

12 голосов
/ 23 июня 2011

Конечно, он возвращает ложь.Ваш массив не содержит "PG-13", хотя он содержит "PG-13 / TV-14".

9 голосов
/ 23 июня 2011

Используйте простой NSPredicate.

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains %@", aString];
NSArray *filteredArray = [RatingsList filteredArrayUsingPredicate:predicate];
if ([filteredArray count] > 0) return YES;
return NO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...