我想创建float类型的数组。
有人可以帮帮我吗?
NSArray *arrOfFloat = [[[NSArray alloc]initWithObjects:[12.2, 23.44], nil]];
但我想动态制作数组。
答案 0 :(得分:2)
使用NSMutableArray class代替NSArray(这是它的子类),这样,在您的代码中,您将能够调用:
NSMutableArray *yourArray = [NSMutableArray new];
[yourArray addObject:@(1.0f)];
答案 1 :(得分:2)
But i want to make array dynamically.
这意味着您必须使用NSMutableArray。
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:@1.1];
[array addObject:@2.2];
...
您也无法向数组添加基元。您需要添加对象。请注意我在数字前添加的@
。这会创建number literals.
如果你想要添加浮动作为变量,你可以auto boxing这样:
[array addObject:@(myFloatVariable)];
答案 2 :(得分:1)
NSArray
只能存储对象,因此在您的情况下,您必须将float
存储为NSNumber
。如果要动态存储对象,从而将它们添加或移除到NSArray
,则必须使用名为NSMutableArray
的可变对象类型。
答案 3 :(得分:1)
您需要将float
包裹在NSNumber
:
[NSNumber numberWithFloat:12.2];
如果您要动态向阵列添加元素,则需要使用NSMutableArray
。
NSMutableArray *array = [NSMutableArray array];
[array addObject:[NSNumber numberWithFloat:12.2]];
答案 4 :(得分:0)
您可以使用 NSMutableArray ,例如名为arrOfFloat并添加:
[arrOfFloat addObject:[NSNumber numberWithFloat:3.5]];
[arrOfFloat addObject:[NSNumber numberWithFloat:23.44]];
希望,这对你有帮助。