Есть ли сокращенный способ получить поплавок из массива?

Я новичок в разработке iPhone в Objective C, и я обнаружил, что очень много делаю, это добавляю числа с плавающей запятой (и целые числа) в различные NSArrays и из них

float myFloatValue = [(NSNumber *)[myArray objectAtIndex:integerSelector] floatValue];

Я понимаю, что мне нужно сделать этот бокс, потому что float (или int) не является указателем, а NSArray принимает только указатели.

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

На таком языке, как C #, я бы написал что-то вроде

float myResult = myArray[i] + someOtherArray[i+1];

(хорошо - это, вероятно, довольно тупая строка кода - но синтаксически она довольно чистая, я думаю, потому что .net неявно выполняет бокс там, где я не вижу it)

в объективе C Я пишу:

float myFloatValue = [(NSNumber *)[myArray objectAtIndex:i] floatValue];
float myOtherFloatValue = [(NSNumber *)[someOtherArray objectAtIndex:i+1] floatValue];

float myResult = myFloatValue + myOtherFloatValue;

Мне просто интересно, не упускаю ли я здесь какой-то трюк, набирая все от руки. Стоит ли использовать альтернативу NSArray? Есть ли ярлык для бокса / распаковки?

Или, наверное, мне просто привыкнуть и перестать ныть;)

5
задан Pete McPhearson 23 January 2012 в 13:04
поделиться