我正在尝试过滤NSMutableArray
。按特定国家/地区搜索数组。我尝试了NSpredicate
但效果很好但是我需要重新使用我不能用NSpredicate
创建的原始数组。所以我正在尝试下面的代码。
Q值。过滤保留原始数组的NSMutableArray
的最佳方法是什么?
//以下代码可以使用
filteredArray = [[NSMutableArray alloc] init];
unsigned int i;
for (i = 0; i < [appDelegate.arrayToBeFiltered count]; i++) {
id session = [appDelegate.ads objectAtIndex: i];
id Country = [[appDelegate.arrayToBeFiltered objectAtIndex: i] TheCountry];
[filteredArray addObject: session];
然而,当我添加if语句时,我得到索引超出边界
filteredArray = [[NSMutableArray alloc] init];
unsigned int i;
for (i = 0; i < [appDelegate.arrayToBeFiltered count]; i++) {
id session = [appDelegate.ads objectAtIndex: i];
id Country = [[appDelegate.arrayToBeFiltered objectAtIndex: i] TheCountry];
if (Country == @"United States"){
[filteredArray addObject: session];
}
}
答案 0 :(得分:0)
使用 - (NSArray *)filteredArrayUsingPredicate :( NSPredicate *)谓词
作为旁注,在上面的代码中你可能意味着这样做[Country isEqualToString:@“United States”]
作为额外的注意事项 - 不要大写变量和方法名称。只是一种风格的东西,但大写通常保留给类名