#objective-c
#objective-c
Вопрос:
Я хочу знать, как работает поиск строки в objective 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:
Единственное, что вам нужно учитывать, это то, что кодировка строк в массиве будет такой же, как кодировка строки запроса.
Например, китайский иногда представлен в UTF16, поэтому вам нужно убедиться, что и строки в массиве, и строка запроса закодированы в UTF16.
Все остальное будет работать «из коробки».