2010-12-10 82 views
2

我想在iPhone中實現搜索欄(UISearchBar)。基本上它會根據API結果搜索公司名稱。 所以說,如果用戶輸入ABC,立即應該顯示ABC 1,ABC 2,ABC 3 ...iPhone UISearchBar示例

這些結果ABC 1,ABC 2,ABC 3 ...實際上來自API調用(http ://xyz.com/?companyname = ABC)

它應該更新爲用戶eneters..ie如果他現在進入ABC 2,它應該只顯示
ABC 2而不是其他人。

我也想用戶所選擇的存儲值(從這些顯示他)

有人能爲我提供任一實例,其對搜索的API引用。

+0

當你說「保留數組中的所有ABC值」時,即使這些值是來自XML API調用,也可以這樣做。 – hmthur 2010-12-11 06:53:58

回答

4

我會爲你提供一個邏輯。 我建議你應該把所有的ABC值保存在一個數組中。 對於搜索欄中的每個鍵輸入這個代理將被稱爲

-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
{ 
    NSString *firstLetter = @""; 
    NSInteger strlen=[searchText length]; 
    for (NSString *ABCValue in ABCArray) 
{ 
    if(ABCValue.length >= stringlen) 
      firstLetter = [buildName substringToIndex:stringlen]; 
    if([searchText.uppercaseString isEqualToString:firstLetter.uppercaseString]) 
    { 
      [tableArray addObject:ABCValue]; //Store it in NSMutableArray 
     break; 
    } 
    } 
    [tableView reloadData]; 
} 

在didSelectRowAtIndexPath方法當用戶選擇了一個細胞與ABC產生的indexPath.row值和tableArray索引值是相同的。賓果你得到選定的價值。

+0

什麼是buildName? – zakdances 2012-08-10 10:08:50

0

報價:我也想存儲

由用戶選擇(從這些顯示給他)的值對於這一部分,我建議使用NSUserDefaults

而對於使用API​​的你可能想看看this example

祝你好運..