我想過濾包含「some」字符串的NSMutableArray元素。 ListArchives中填充了字符串元素,listFiles必須是過濾後的字符串元素。 XCode在最後發佈的行中生成警報。什麼做錯了?任何其他方法來過濾NSMutableArray的元素?xcode過濾NSMutableArray元素的字符串內容
NSString *match = @"*some*";
listFiles = [[NSMutableArray alloc] init];
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"SELF like[cd] %@", match];
listFiles = [listArchives filteredArrayUsingPredicate:sPredicate];
好吧,似乎更好的選擇。但仍然顯示警告,「不可分割的指針類型分配給來自NSArray的NSMutableArray _strong」。所以如果我聲明listFiles爲NSArray解決它,但沒有其他方式讓listFiles也可變? – Jaume 2012-04-02 17:14:34
@Jaume這是因爲編譯器不知道已過濾的數組是否爲'NSMutableArray'。試試這個,而不是最後一行:'[listFiles setArray:[listArchives filteredArrayUsingPredicate:sPredicate]];' – dasblinkenlight 2012-04-02 17:19:12
哦,當然可以!懶惰的評論從我自己:)我真的讚賞你的幫助! – Jaume 2012-04-02 17:23:23