我有NSArray
个Contact
个对象,我们可以将其称为contacts
。联系人是超类,FacebookGroup
和Individual
是Contact
的子类。 FacebookGroup
有一个名为individuals
的属性,它是一组Individual
个对象。
我还有NSArray
个NSString
个对象,我们可以将其称为userIDs
。
我想要做的是从现有的NSArray
数组中创建一个与contacts
中的用户ID匹配的新userIDs
。
因此,如果contacts
有3个Contact
个对象userID
1,2和3.我的userIDs
有一个NSString
对象3.然后我想要结果数组包含Contact
等于userID
3。
Contact.h
Contact : NSObject
FacebookGroup.h
FacebookGroup : Contact
@property (nonatomic, strong) NSSet *individuals;
Individual.h
Individual : Contact
@property (nonatomic, strong) NSString *userID;
答案 0 :(得分:4)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userId = %@", myContact.userId];
NSArray *filteredArray = [contacts filteredArrayUsingPredicate:predicate];
答案 1 :(得分:0)
这是你在找什么?
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userID IN %@", userIDs];
NSArray *filtered = [contacts filteredArrayUsingPredicate:predicate];
答案 2 :(得分:-1)
我希望你能想到这样的一次,
NSMutableArray *names = [NSMutableArray arrayWithObjects:@"one", @"two", @"three", @"four", nil];
NSMutableArray *ids = [NSMutableArray arrayWithObjects:@"1", @"2", @"2", @"3", nil];
NSMutableArray *array=[[NSMutableArray alloc]init];
for(int i=0;i<[ids count];i++){
if([[ids objectAtIndex:i] isEqualToString:@"2"])
[array addObject:[names objectAtIndex:i]];
}
NSLog(@"%@",array);
O / P: -
(
two,
three
)