2011-05-20 50 views
1

我想知道當iphone應用程序必須支持多種語言時,如何在目標C中搜索字符串。使用NSPredicate進行搜索時是否自動使用多種語言?

假設我具有搜索功能,看起來像這樣目前:

- (int)showSearchResultForQuery:(NSString *)query 
{ 
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name CONTAINS[cd] %@ || address CONTAINS[cd] %@",query, query]; 
    storesFiltered = [[NSMutableArray alloc]initWithArray:[stores filteredArrayUsingPredicate:predicate]];  
    int count = [storesFiltered count]; 
    if(count > 0) 
    { 
     // we have some results   
     [resultTable reloadData];   
    }  
    return count; 
} 

這段代碼基本上接受查詢字符串和更新被用於通過使用NSPredicate的表陣列。我想知道,如果這個函數必須接受多種語言,我需要考慮什麼?中文。英語...日語...這個功能仍然有效嗎?

謝謝。

回答

1

您唯一需要考慮的是數組中字符串的編碼將與查詢字符串的編碼相同。

例如,chinese有時以UTF16表示,所以您需要確保數組中的字符串和查詢字符串都以UTF16編碼。

其他一切都將開箱即用。