我有一个类别数组和另一个类别 ID 数组。我想提取具有匹配 ID 的类别。目前,我的代码看起来有点像这样:
- (NSArray *)categoriesFromArray:(NSArray *)categories withIDs:(NSArray *)categoryIDs {
NSMutableArray *categoriesWithIDs = [NSMutableArray array];
for (SGBCategory *category in categories) {
for (NSNumber *categoryID in categoryIDs) {
if ([category.categoryID isEqual:categoryID]) {
[categoriesWithIDs addObject:category];
break;
}
}
}
return categoriesWithIDs;
}
嗯,我知道。所以我想做的是类似于SELECT * FROM categories WHERE categories.categoryID in (categoryIDs)
SQL 中的操作。我认为 NSPredicate 是表达这类事情的客观 c 方式,但我不知道如何让它做我想做的事。如何使用 NSPredicate 加快数组搜索速度?