【问题标题】:how to add object multi NSArray in one NSMutableArray如何在一个 NSMutableArray 中添加对象多 NSArray
【发布时间】:2013-04-15 10:52:55
【问题描述】:

我想将对象从 2 NSArray 添加到 NSMutableArray。我不知道这个。

这是我的代码:

@interface ViewController : UITableViewController
{
    NSArray *animal;
    NSArray *color;
    NSMutableArray *all;
}


@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    animal = [[NSArray alloc]initWithObjects:@"Lion",@"Tiger",@"Dog",@"Cat",@"Sheep",@"Wolf", nil];
    color = [[NSArray alloc]initWithObjects:@"Blue",@"Red",@"Yellow",@"Green",@"Black", nil];

    all = ??? ; //how to add object from animal and color array in all 
}

【问题讨论】:

    标签: ios objective-c nsmutablearray nsarray


    【解决方案1】:

    你可以在NSMutableArray类中使用addObjectsFromArray:

    all = [[NSMutableArray alloc]init];
    [all addObjectsFromArray:animal];
    [all addObjectsFromArray:color];
    

    【讨论】:

    • 初始化有错误,漏了一个'[',可以使用initWithArray避开一条指令
    • @duDE :事实上,我在回答这个问题时也被派去进行人工验证。 :)
    【解决方案2】:

    试试这个:

    animal = [[NSArray alloc]initWithObjects:@"Lion",@"Tiger",@"Dog",@"Cat",@"Sheep",@"Wolf", nil];
    color = [[NSArray alloc]initWithObjects:@"Blue",@"Red",@"Yellow",@"Green",@"Black", nil];
    
    all = [[NSMutableArray alloc] init];
    [all addObjectsFromArray:animal];
    [all addObjectsFromArray:color];
    

    【讨论】:

    • 我尝试使用相同的代码。在这种情况下,我的应用程序因 EXC_BAD_ACCESS 而崩溃
    【解决方案3】:

    我正在使用这个:

    all = @[animal, color];
    

    但您必须将数组“all”从NSMutableArray 转换为NSArray

    【讨论】:

      【解决方案4】:

      all = [[all arrayByAddingObjectsFromArray: animal] mutableCopy];
      all = [[ all arrayByAddingObjectsFromArray: color] mutableCopy];

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多