2017-07-07 71 views
-1

显示JSON阵列I有一个JSON字典以这种格式iOS装置:在的UISearchBar

{ 
    "382" : "sudhir kumar", 
    "268" : "David ", 
    "385" : "aayush test", 
    "261" : "Mike watson", 
    "277" : "TestDrivers Driver", 
    "381" : "sudhir kumar", 
    "380" : "sudhir kumar", 
    "383" : "asdfgh asdfgh", 
    "376" : " " 
} 

我在的UISearchBar来显示它。有人请帮我把它解决了,当我选择我使用下面的代码它过滤的名称,但不是他们的相关的编号与名称

我的代码是从搜索其各自的标识也选择

任何名称:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText; 
{ 


    tempArray = [NSArray arrayWithArray:DriverNameArray]; 
    //NSString *stringToSearch = textField.text; 

    tempId = [NSArray arrayWithArray:DriverIdArray]; 

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[c] %@",searchText]; // if you need case sensitive search avoid '[c]' in the predicate 

    //NSPredicate * predicateid = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[c] %@",stringToSearch]; 

    NSArray *tempresults = [DriverNameArray filteredArrayUsingPredicate:predicate]; 
    if (tempresults.count > 0) 
    { 
     tempArray = [NSArray arrayWithArray:tempresults]; 
     tempId = [NSArray arrayWithArray:tempresults]; 
    } 
    [SEarchTable reloadData]; 
    //return YES; 
} 
+0

你试过的什么显示你的代码? –

+0

请检查我更新的问题 – Abhi

回答

2

您尚未发布与您已经尝试过的代码有关的代码,因此我不会发布直接为您的问题提供解决方案的代码。

最好的办法是创建一个字典数组,其中包含一个名称值和一个ID值。当您显示数据时,通过myArray[@"name"]约定显示阵列中的名称。然后您可以获取该对象的索引,然后运行[myArray objectAtIndex:myCalculatedIndex][@"id"]以获取该ID。

实际上有很多方法可以解决这个问题,但这是其中之一。

+0

请检查我更新的问题 – Abhi