1

我有一个NSArray对象Contact,我们可以称之为contacts。Contact 是一个超类,FacebookGroup并且Individual是 的子类ContactFacebookGroup有一个名为的属性individuals,它是一组Individual对象。

我也有一个NSArray对象NSString,我们可以称之为userIDs

我想要做的是NSArray从现有contacts数组中创建一个新的与userIDs.

因此,如果contacts有 3 个Contact具有userID1,2 和 3 的对象。我userIDs有一个NSString对象 3。然后我希望结果数组包含Contact等于userID3。

联系人.h

Contact : NSObject

FacebookGroup.h

FacebookGroup : Contact

@property (nonatomic, strong) NSSet *individuals;

个人.h

Individual : Contact

@property (nonatomic, strong) NSString *userID;
4

3 回答 3

4
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userId = %@", myContact.userId];
NSArray *filteredArray = [contacts filteredArrayUsingPredicate:predicate];
于 2013-05-03T11:13:30.907 回答
0

这是你想要的?

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userID IN %@", userIDs];
NSArray *filtered = [contacts filteredArrayUsingPredicate:predicate];
于 2013-05-03T11:18:20.777 回答
-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);

运单:-

(
    two,
    three
)
于 2013-05-03T11:44:48.193 回答