首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何拷贝数组?

如何拷贝数组?
EN

Stack Overflow用户
提问于 2010-06-04 15:03:57
回答 3查看 8.8K关注 0票数 2

我有四个数组,如下:

代码语言:javascript
复制
toArray = [[NSMutableArray alloc] initWithObjects:@"to 1",@"to 2",@"to 3",@"to 4",@"to 5",@"to 6",@"to 7",nil]; 
fromArray = [[NSMutableArray alloc] initWithObjects:@"from 1",@"from 2",@"from 3",@"from 4",@"from 5",@"from 6",@"from 7",nil]; 
messageArray = [[NSMutableArray alloc] initWithObjects:@"message 1",@"message 2",@"message 3",@"message 4",@"message 5",@"message 6",@"message 7",nil]; 
dayArray = [[NSMutableArray alloc] initWithObjects:@"day 1",@"day 2",@"day 3",@"day 4",@"day 5",@"day 6",@"day 7",nil];

我想复制或创建一个数组,它应该包含所有这4个数组。我怎样才能做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-04 15:13:24

你的问题有点模棱两可;你想要怎样的结果?

代码语言:javascript
复制
NSMutableArray *completeArray = [NSMutableArray array];
[completeArray addObjectsFromArray:toArray];
[completeArray addObjectsFromArray:fromArray];
[completeArray addObjectsFromArray:messageArray];
[completeArray addObjectsFromArray:dayArray];

代码语言:javascript
复制
NSMutableArray *completeArray  = [NSMutableArray arrayWithObjects:toArray, fromArray, messageArray, dayArray, nil];

或者如果所有数组都有相同数量的元素:

代码语言:javascript
复制
NSMutableArray *completeArray = [NSMutableArray array];
for (NSUInteger i = 0; i < [toArray count]; i++)
{
    NSString *fullString = [NSString stringWithFormat:@"%@ %@ %@ %@", [toArray objectAtIndex:i], [fromArray objectAtIndex:i], [messageArray objectAtIndex:i], [dayArray objectAtIndex:i]];
    [completeArray addObject:fullString];
}

或者,作为字典数组(也假设所有数组的长度相同):

代码语言:javascript
复制
NSMutableArray *completeArray = [NSMutableArray array];
for (NSUInteger i = 0; i < [toArray count]; i++)
{
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
        [toArray objectAtIndex:i], @"to",
        [fromArray objectAtIndex:i], @"from",
        [messageArray objectAtIndex:i], @"message",
        [dayArray objectAtIndex:i], @"day",
        nil];
    [completeArray addObject:dict];
}
票数 5
EN

Stack Overflow用户

发布于 2010-06-04 15:06:48

这应该是可行的:

代码语言:javascript
复制
NSArray *singleArray = [NSArray arrayWithElements:toArray, fromArray, messsageArray, dayArray, nil]; 
// mind the nil element at the end
票数 1
EN

Stack Overflow用户

发布于 2010-06-04 15:12:21

代码语言:javascript
复制
NSMutableArray *result = [NSMutableArray arrayWithCapacity:0];

[result addObjectsFromArray:toArray];
[result addObjectsFromArray:fromArray];
[result addObjectsFromArray:messageArray];
[result addObjectsFromArray:dayArray];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2972116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档