Лучший способ конвертировать NSArray из NSNumbers в массив NSStrings - PullRequest
10 голосов
/ 14 ноября 2011

У меня есть NSArray, состоящий из NSNumbers, и я хочу преобразовать его в NSArray из NSStrings, получив stringValue каждого NSNumber в первом массиве.

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

1 Ответ

32 голосов
/ 14 ноября 2011

NSArray реализует кодирование значения ключа метод valueForKey: таким образом, что он возвращает новый массив.Новый массив содержит результаты запроса каждого объекта в исходном массиве для указанного значения.В этом случае NSNumber имеет stringValue, поэтому все, что вам нужно сделать, это:

NSArray * b = [a valueForKey:@"stringValue"];

Простое старое быстрое перечисление (или enumerateObjectsUsingBlock:) не будет ужасным решением.Реализация NSArray valueForKey:, скорее всего, использует внутренний цикл for, и это будет легко понять любому, кто прочитает его позже.

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