Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
Ios 如何在Objective-C中组合两个数组?_Ios_Objective C - Fatal编程技术网

Ios 如何在Objective-C中组合两个数组?

Ios 如何在Objective-C中组合两个数组?,ios,objective-c,Ios,Objective C,JavaScriptconcat()函数的Objective-C等价物是什么 假设两个对象都是数组,您将如何组合它们?NSArray的arrayByAddingObjectsFromArray:或多或少等同于JavaScript的.concat()方法: NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray]; 注意:如果firstArray为零,newArray将为零。可通过使用以下方法解决此问题: N

JavaScript
concat()
函数的Objective-C等价物是什么


假设两个对象都是数组,您将如何组合它们?

NSArray
arrayByAddingObjectsFromArray:
或多或少等同于JavaScript的
.concat()
方法:

NSArray *newArray=[firstArray arrayByAddingObjectsFromArray:secondArray];
注意:如果
firstArray
为零,
newArray
将为零。可通过使用以下方法解决此问题:

NSArray *newArray=firstArray?[firstArray arrayByAddingObjectsFromArray:secondArray]:[[NSArray alloc] initWithArray:secondArray];
如果要删除重复项,请执行以下操作:

NSArray *uniqueEntries = (NSArray *)[[NSSet setWithArray:newArray] allObjects];

以下是一种对称且简单的方法,从空数组开始:

NSArray* newArray = @[];
newArray = [newArray arrayByAddingObjectsFromArray:firstArray];
newArray = [newArray arrayByAddingObjectsFromArray:secondArray];

对于Swift版本,其类似魅力:

let a = [1,2,3]
let b = [3,4]
let c = a + b
print(c)

这是否需要
firstArray
成为
NSMutableArray
?@Moshe它返回一个新的(不可变的)NSArray对象,并且不改变原始数组,因此它可以在NSArray对象上正常工作。答案可能有问题,如果第一个数组为零,而第二个数组不是,则新数组为零。当然,然后添加:
if(!firstArray)firstArray=@[]
然后确保只获得唯一的条目(如果您想要的话):NSArray*uniqueEntries=[[NSSet setWithArray:newArray]allObjects];看起来你在做历法运算。请考虑使用<代码> NSCANDENAR 和<代码> NSDATC组件< /代码>和朋友为您做。他们不是一个微不足道的话题。你考虑过闰月吗?夏令时呢?闰秒呢?等等@DaveDeLong-现在我正在移植一个小的Javascript库。一旦完成实际的重写,我将重构代码。我的第一个目标是获取Objective-C中的信息,然后再进行优化。对不起,问题是关于Objective-C的