Я хочу создать функцию, чтобы вернуть 1d массива с 2-х элементами в нем что-то, как показано ниже:Что такое самый простой способ работы массивов в объективе-c?
(NSArray *) myFunction {
NSArray * myArr = [[NSArray alloc]initwithobjects:[NSNumbers numberwithfloat:1.0f],[NSNumbers numberwithfloat:1.0f]];
//the above line is just pseudo code
}
, но когда я хочу, чтобы получить NSArray сформировать эту функцию я хочу сделать это в самом простом способе которого его представляется невозможным в Objective-C это то, что я написал, чтобы получить два простых значение с плавающей точкой, которое не appropariate, но я не имею дополнительные знаний о том, как сделать это в более простом способе
NSArray *tt2 = [[NSArray alloc] initWithArray:[self myFunction]];
float fp1=0.0f;
float fp2=0.0f;
BOOL firstTime = YES;
for(NSNumber *n in tt2)
{
if (firstTime) {
NSLog(@"%@" , n);
fp1 = [n floatValue];
firstTime = NO;
}
else {
fp2 = [n floatValue];
}
}
выше коды это смешно, но у меня нет другого выбора, если вы не посоветуете мне как я могу преобразовать nsarray в nsnumber, а затем nsnumber to float []
Я где-то читал, что мы не можем вернуть float [] из другой функции. вот почему мы должны создать много раздутого кода. –
Это действительно так, или, по крайней мере, это не так просто - я этого не знал, спасибо за информацию! Я думаю, вы могли бы иметь массив C как ivar, хотя, если вы не получаете доступ к нему из других объектов. – jrturton