Ank*_*pta 3 objective-c nsarray ios
目标C:
我有多个类型为double,long long,NSString和int的变量,我希望将它们放入要打印为CSV文件中的一行的数组中
NSArray * ValArray = [NSArray arrayWithObjects:var1,var2,var3,var4,var5,nil];
这里var1是double类型,而var2,var3是long long类型。
这给了我一个语法错误,说“无法在var1处初始化类型为'id _NonNull'的参数,类型为double的左值”
我是Objective C的新手,无法弄清楚自己在做什么。
Objective-C 中NSArray(和NSDictionary)的内容必须是对象。所有标量类型int double等都不是对象。
有一个简单的解决方案:
将所有标量类型包装在快捷方式NSNumber初始化程序中@()
double var1 = 12.0;
NSString *var2 = @"Foo";
NSArray *valArray = [NSArray arrayWithObjects: @(var1), var2, nil];
Run Code Online (Sandbox Code Playgroud)
或更短
NSArray *valArray = @[@(var1), var2];
Run Code Online (Sandbox Code Playgroud)
要从double数组中获取类型,必须编写
double var3 = valArray[0].doubleValue;
Run Code Online (Sandbox Code Playgroud)
旁注:变量名称应以小写字母开头。
| 归档时间: |
|
| 查看次数: |
5250 次 |
| 最近记录: |