Objective c 搜索可变数组

Objective c 搜索可变数组,objective-c,cocoa,search,nsarray,Objective C,Cocoa,Search,Nsarray,我需要编写一个方法,在personArray中搜索电话号码,并返回与该电话号码关联的名称 - (NSString *) nameForNumber:(NSString *)phoneNumber{ } 您应该做的是学习如何使用NSArray方法indexOfObjectPassingTest:。这是在数组中查找对象的非常有用的方法。您当前的问题可以这样解决: - (NSString *) nameForNumber:(NSString *)phoneNumber{ NSInteger

我需要编写一个方法,在
personArray
中搜索电话号码,并返回与该电话号码关联的名称

- (NSString *) nameForNumber:(NSString *)phoneNumber{

}

您应该做的是学习如何使用NSArray方法indexOfObjectPassingTest:。这是在数组中查找对象的非常有用的方法。您当前的问题可以这样解决:

- (NSString *) nameForNumber:(NSString *)phoneNumber{
    NSInteger indx = [self.personArray indexOfObjectPassingTest:^BOOL(Person *aPerson, NSUInteger idx, BOOL *stop) {
        return [aPerson.phoneNumbers.allValues containsObject:phoneNumber];
    }];
    if (indx != NSNotFound) {
        return [self.personArray[indx] lastname];
    }else{
        return @"Not Found";
    }
}
我使用的名称基于我在回答您的另一个问题()时所做的相同假设