NSArray包含对象NSString不工作?

时间:2011-06-23 14:37:40

标签: iphone objective-c ios ipad ios4

我有一个包含以下内容的arraylist(评级列表)

<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 个答案:

答案 0 :(得分:12)

当然它返回false。您的阵列不包含“PG-13”,但它包含“PG-13 / TV-14”。

答案 1 :(得分:9)

使用简单的NSPredicate。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains %@", aString];
NSArray *filteredArray = [RatingsList filteredArrayUsingPredicate:predicate];
if ([filteredArray count] > 0) return YES;
return NO;