2014-09-01 1 views
1

У меня есть массив строк, содержащих числа. Так что если есть способ, чтобы получить NSNumber от NSString было бы легко получить массив чисел с:Использование valueForKey для преобразования массива строк в массив из nsnumbers

[arrayOfStrings valueForKey:@"NSNumberValue"] 

Но для преобразования строки в номер вы должны сделать что-то вроде этого:

[NSNUmber numberWithInt:[string intValue]]; 

Интересно, есть ли способ сделать это без ручного повторения массивов?

+0

[[arrayOfStrings objectAtIndex: Индекс] intValue] – BHASKAR

+0

@BHASKAR "без итерация вручную с помощью массивов" – nhgrif

ответ

6

NSArray *arrayOfNumbers = [arrayOfStrings valueForKey:@"intValue"];

+1

+1. Объяснить: вопрос предполагает, что вам нужно свойство 'NSString', которое имеет тип' NSNumber * '. Тем не менее, KVC автоматически переносит скалярные числовые типы в объекты NSNumber. Таким образом, вам просто нужно свойство со скалярным числовым типом, например '-intValue'. –

+0

Точно. В конце концов, «valueForKey:», как известно, работает со скалярными свойствами, и, учитывая, что он возвращает 'id', подразумевается, что скалярные типы автоматически завертываются. – keeshux

 Смежные вопросы

  • Нет связанных вопросов^_^