Я новичок в разработке 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? Есть ли ярлык для бокса / распаковки?
Или, наверное, мне просто привыкнуть и перестать ныть;)