Я новичок в разработке iPhone для Objective C, и я обнаружил, что довольно часто делаю поплавки (и целочисленные значения) в различных NSArrays
float myFloatValue = [(NSNumber *)[myArray objectAtIndex:integerSelector] floatValue];
Я понимаючто мне нужно сделать этот бокс, потому что float (или int) не является указателем, а NSArray принимает только указатели.
Мне просто интересно, есть ли немного синтаксического сахара для сокращения этой строки кода - главным образом потому, что когда у меня есть пара массивов и я перебираю их для выполнения некоторой обработки, я обнаруживаю, чтостроки начинают становиться массивными, и мне приходится разбивать строки, которые извлекают числа из массива, просто чтобы сделать код читабельным, - тогда у меня есть много строк гитар, которые имеют тенденцию усложнять логику.
На языке, подобном C #, я написал бы что-то вроде
float myResult = myArray[i] + someOtherArray[i+1];
(хорошо - это, вероятно, довольно глупая строка кода - но синтаксически это довольно чисто, я думаю, потому что .net неявно выполняет упаковку, где я могуне вижу этого)
в объективе C я нахожу себя пишущим:
float myFloatValue = [(NSNumber *)[myArray objectAtIndex:i] floatValue];
float myOtherFloatValue = [(NSNumber *)[someOtherArray objectAtIndex:i+1] floatValue];
float myResult = myFloatValue + myOtherFloatValue;
Мне просто интересно, упустил ли я здесь трюк, набрав все это от руки.Должен ли я использовать альтернативу NSArray?Есть ли ярлык для бокса / распаковки?
Или, наверное, мне просто привыкнуть и перестать ныть;)