我想过滤包含“某些”字符串的NSMutableArray元素。 ListArchives填充有字符串元素,并且listFiles必须是已过滤的元素。 XCode在最后发布的行生成警报。怎么了?任何其他方法来过滤NSMutableArray的元素?

NSString *match = @"*some*";
listFiles = [[NSMutableArray alloc] init];

NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"SELF like[cd] %@", match];

listFiles = [listArchives filteredArrayUsingPredicate:sPredicate];

最佳答案

尝试使用contains代替like,例如,如下所示:

NSString *match = @"some";
listFiles = [[NSMutableArray alloc] init];

NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS[cd] %@", match];

listFiles = [[listArchives filteredArrayUsingPredicate:sPredicate] mutableCopy];

10-02 06:44