Работает ли поиск с использованием NSPredicate на нескольких языках автоматически? - PullRequest
1 голос
/ 20 мая 2011

Я хочу знать, как работает поиск строки в задаче C, когда приложение iphone должно поддерживать несколько языков.

Предполагается, что у меня есть функция поиска, которая выглядит следующим образом:

- (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 Ответ

1 голос
/ 06 июня 2011

Единственное, что вам нужно учитывать, - это то, что кодировка строк в массиве будет такой же, как и кодировка строки запроса.

Например, китайский язык иногда представлен в UTF16, поэтому вам нужно убедиться, что строки в массиве и строке запроса закодированы в UTF16.

Все остальное будет работать из коробки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...