Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 向数组添加对象_Objective C_Arrays - Fatal编程技术网

Objective c 向数组添加对象

Objective c 向数组添加对象,objective-c,arrays,Objective C,Arrays,//我有一个数组 NSMutableArray *anArray = [[NSMutableArray allot] init]; //我想添加一个字符串对象。我可以使用以下方法添加它: NSString *aString = @"A random string"; [anArray addObject:aString]; //但我也可以这样做: [anArray addObject:@"A random string"]; 对于第二个选项,这将创建一个新的字符串对象。我无法显式访问此对象

//我有一个数组

NSMutableArray *anArray = [[NSMutableArray allot] init];
//我想添加一个字符串对象。我可以使用以下方法添加它:

NSString *aString = @"A random string";
[anArray addObject:aString];
//但我也可以这样做:

[anArray addObject:@"A random string"];
对于第二个选项,这将创建一个新的字符串对象。我无法显式访问此对象,但可以使用objectAtIndex:数组访问它但是为什么要使用第一个选项呢?

在这两种情况下,
@“一个随机字符串”
是在编译时创建的。就我个人而言,我使用的是单一声明。这真的没有什么区别,编译器很可能会优化掉临时的
aString


至于“那么为什么人们会选择第一种呢?”让我问一下,为什么有人会穿黑色而不是棕色的鞋子?个人偏好。

变量的名称可能表明字符串更好地代表了什么。如果字符串很长,您可能可以用第一种方法更好地格式化代码。事实上,它们做的是相同的事情——编译器会优化出任何差异,所以选择可读性更好的。哦,谢谢,这是一个完整的答案,我不知道你为什么把它作为一个注释!扎夫已经回答了,我只是补充了一点信息。