У вас есть две проблемы: во-первых, вы не можете хранить float
в NSArray
, поскольку NSArray
s будет содержать только объекты Objective-C.Затем вам нужно будет обернуть объект, вероятно, NSNumber
или NSValue
.
Что касается вашего исходного вопроса, так как вам все равно нужно создавать объекты, лучшего способа не существует.Я бы порекомендовал цикл for
:
for (int i = 0; i < elements; i++) {
NSNumber *number = [NSNumber numberWithFloat:floatArray[i]];
[myArray addObject:number];
}
Имейте в виду, что number
будет автоматически выпущен.Если вы имеете дело с много чисел, это может довольно быстро выйти из-под контроля управления памятью, так что вы можете сделать это вместо этого:
for (int i = 0; i < elements; i++) {
NSNumber *number = [[NSNumber alloc] initWithFloat:floatArray[i]];
[myArray addObject:number];
[number release];
}