来自 NSPredicate 的 NSArray 中的索引列表

list of indexes in NSArray from NSPredicate

我的问题非常类似于:obj c -get list of indexes in NSArray from NSPredicate

但还是有区别的。我有两个 NSArray。第一个是名字,另一个是 phone 个数字。我使用以下代码搜索 "names" 数组以搜索名称:

-(void)filterContentForSearchText:(NSString *)searchtext scope:(NSString *)scope {

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] %@",searchtext];
self.searchResult = [ForMsgNamrarray filteredArrayUsingPredicate:predicate];

}

我返回了一个很好的过滤数组。但是基于过滤数组的索引,我还想过滤包含 phone 数字的数组。

例如,如果我搜索 "jh",我会在搜索数组中得到 "Jhone"。我还想在另一个数组中添加约翰的 phone 数量,即 "searchArrayPhNum"

准备具有以下属性的模型对象,

@interface Person : NSObject

@property (nonatomic,retain) NSString *name;
@property (nonatomic,retain) NSString *phoneNumber;
@end

并使用单个数组( Person 对象的数组)而不是两个不同的数组, 你的谓词会改变,

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.name beginswith[c] %@",searchtext];