NSArray сортировка: - PullRequest
       6

NSArray сортировка:

0 голосов
/ 06 марта 2012

Я хочу отсортировать этот массив NSStrings:

"Page_1",
"Page_10",
"Page_11",
"Page_12",
"Page_13",
"Page_14",
"Page_15",
"Page_16",
"Page_17",
"Page_18",
"Page_19",
"Page_2",
"Page_20",
"Page_21",
"Page_22",
"Page_23",
"Page_24",
"Page_3",
"Page_4",
"Page_5",
"Page_6",
"Page_7",
"Page_8",
"Page_9"

, но я получаю сообщение об ошибке с этим кодом:

NSArray* sortedArray = [currentViews sortedArrayUsingSelector:@selector(compare:NSNumericSearch)];

Даже не уверен, что это правильный подход кВзять, глядя на документы NSArray заставляет меня думать, что я должен идти с компаратором.Любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Вам действительно понадобится компаратор, поскольку вы пытаетесь отсортировать действительно NSString, а не NSNumber.

0 голосов
/ 07 марта 2012

Вы не можете исправить аргумент в @selector - @selector(compare:NSNumericSearch), который ищет метод compare:NSNumericSearch, и он не существует!

Вы можете использовать компаратор для вызова правильного метода сравнения:

NSArray *sortedArray = [currentViews sortedArrayUsingComparator:(NSComparator)^(NSString *a, NSString *b)
                        {
                           return [a compare:b options:NSNumericSearch];
                        }
                       ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...