【发布时间】:2013-08-23 21:58:45
【问题描述】:
我有这个自定义类:
@interface MyModel : NSObject
@property (nonatomic,strong) NSString *id_name;
@property (nonatomic,strong) NSArray *genres;
@end
流派数组是NSNumbers 的数组。我用MyModel 对象填充另一个数组,例如:
MyModel *m = [[MyModel alloc] init];
m.id_name = @"2345";
m.genres = [NSArray arrayWithObjects:[NSNumber numberWithInt:3],[NSNumber numberWithInt:5],nil];
MyModel *m2 = [[MyModel alloc] init];
m2.id_name = @"259";
m2.genres = [NSArray arrayWithObjects:[NSNumber numberWithInt:7],[NSNumber numberWithInt:10],nil];
MyModel *m3 = [[MyModel alloc] init];
m3.id_name = @"25932as";
m3.genres = [NSArray arrayWithObjects:[NSNumber numberWithInt:7],[NSNumber numberWithInt:10],[NSNumber numberWithInt:15],nil];
myArray = [NSArray arrayWithObjects:m,m2,m3,nil];
现在我想过滤 myArray 以使流派包含在此数组的元素中:
NSArray *a = [NSArray arrayWithObjects:[NSNumber numberWithInt:7],[NSNumber numberWithInt:10],nil];
因此,myArray 在过滤后应该包含对象m2 和m3。我可以用NSPredicate 做到这一点吗?如果是这样,怎么做?还是有别的办法?
【问题讨论】:
-
你想要包含任意个给定数组元素的对象,还是所有个给定数组元素?
-
所有元素,如果可能的话......
标签: ios objective-c nsarray nspredicate