在目标 c 中合并两个 NSMutableArray

Combine Two NSMutableArray In Objective c

提问人:sohil 提问时间:8/2/2020 最后编辑:Eric Ayasohil 更新时间:8/2/2020 访问量:102

问:

我有两个NSMutableArray数组,我想将这个数组合并到旧的数组中。

我怎样才能在没有任何循环的情况下做到这一点(for,while)。

         NSMutableArray *oldArray = [[NSMutableArray alloc]init];
         [oldArray addObject:@"four"];
         [oldArray addObject:@"five"];
         [oldArray addObject:@"six"];

         NSMutableArray *newArray = [[NSMutableArray alloc]init];
         [newArray addObject:@"one"];
         [newArray addObject:@"two"];
         [newArray addObject:@"three"];

合并后,我想要这样的输出:

         NSLog(@"After Combine : %@",oldArray);
         //Output : one, two, three, four, five, six
数组 objective-c nsmutablearray

评论


答:

0赞 Jawad Ali 8/2/2020 #1

您可以使用来获得结果addObjectesFromArray

 [oldArray addObjectsFromArray: newArray];

评论

0赞 Willeke 8/2/2020
addObjectsFromArray将对象添加到 中并返回 。oldArraynewArrayvoid
0赞 Willeke 8/2/2020
现在顺序是四、五、六、一、二、三。
0赞 Ol Sen 8/2/2020 #2

这应该可以做到。

newArray = [[newArray arrayByAddingObjectsFromArray:oldArray] mutableCopy];

for (NSString *str in newArray) {
    NSLog(@"%@", str);
}

输出:[one,two,three,four,five,six]

等等,那是复制到新的..:)

 oldArray = [[newArray arrayByAddingObjectsFromArray:oldArray] mutableCopy];

输出:[one,two,three,four,five,six]

哈哈哈,可能还有副作用,newArray 是 NSArray,内容相同。
检查?哦。 还是.
newArray[one,two,three]

1赞 Willeke 8/2/2020 #3

插入 :newArrayoldArray

[oldArray insertObjects:newArray atIndexes:[[NSIndexSet alloc] initWithIndexesInRange:NSMakeRange(0, newArray.count)]]

评论

0赞 sohil 8/3/2020
它的工作兄弟,谢谢@willeke