繁体   English   中英

iOS / Objective-C:使用对象数组搜索字符串元素

[英]IOS/Objective-C: Search string element with array of objects

作为自动完成框的一部分,我正在搜索一系列联系人中的姓名。 但是,在用户从建议的列表中选择一个名称后,我需要获取联系人的ID,该ID位于联系人对象数组中,而不是出现在建议框中的名称数组。 我一直在使用名称,因为这是我想在建议框中显示的名称,但也有一系列联系人。

我将如何转换下面的代码(可能使用键值)来搜索对象数组而不是名称数组的名称维,以便跟踪对象的ID。 我对数组和键值有些模糊。

//the array being searched looks something like  @[@"John", @"Dave", @"Sam", @"Xian", @"Ahmed", @"Johann"];

//I want to search the names in an array that looks something like:

(
        {
        first = "John";cid = 2;},
        {
        first = "Dave";cid = 44;},
        {
        first = "Xian";cid=99})
//this code works great to search names but I lose track ids. Thank you for any suggestions.

-(void)searchArray: (NSMutableArray*) array forString: (NSString *) term {
    [_contactsSuggested removeAllObjects];      
      NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",term]; 
    NSArray *tempArray = [array filteredArrayUsingPredicate:predicate];
    _contactsSuggested = [NSMutableArray arrayWithArray:tempArray];
    [_autocompleteTableView reloadData];
}

创建一个Contact对象。 给它一个name属性,一个id属性以及您需要的任何其他属性。 然后编写代码,以搜索Contact对象的数组,而不只是名称数组。 然后,您可以使用predicateWithBlock创建谓词,以过滤与您的name属性匹配的项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM