2013-07-04 36 views

回答

2

複製到某個地方在代碼

@implementation NSArray (My) 

-(NSArray*)arrayWithPredicate:(BOOL(^)(id obj))predicate { 
    NSMutableArray* objs = [NSMutableArray array]; 

    [self enumerateObjectsUsingBlock:^(id o, NSUInteger idx, BOOL *stop) { 
     if (predicate(o)) { 
      [objs addObject:o]; 
     } 
    }]; 

    return objs; 
} 

@end 

然後,你需要得到男性的:

NSArray* males = [people arrayWithPredicate:^BOOL(id obj) { 
    // Gender check 
}]; 

NSPredicate相比,您不必使用字面條g來指定標準(如果標準很複雜,則相當麻煩)。

0

是的,你可以使用這樣,這NSArray類別

NSArray *filtered = [data filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self.gender == %@", @"male"]]; 
NSLog(@"%@",filtered);