当前位置:  开发笔记 > 编程语言 > 正文

NSArray添加元素

如何解决《NSArray添加元素》经验,为你挑选了2个好方法。

我必须创建一个动态NSArray,也就是说,我不知道数组的大小或数组将具有的元素.需要动态地将元素添加到数组中.我查看了NSArray类引用.有一个名为arrayWithObjects的方法,应该在初始化数组本身时使用.但我不知道如何实现我需要做的事情.

我需要做一些像下面这样的事情:

NSArray *stringArray = [[NSArray init] alloc] ;  
for (int i = 0; i < data.size; i++){  
    stringArray.at(i) = getData(i);
}

pgb.. 77

如果你创建了一个,NSArray你就无法向它添加元素,因为它是不可变的.你应该尝试使用NSMutableArray.

另外,你颠倒了alloc和的顺序init.alloc创建一个实例并init初始化它.

代码看起来像这样(假设getData是一个全局函数):

NSMutableArray *stringArray = [[NSMutableArray alloc] init];
for(int i=0; i< data.size; i++){
   [stringArray addObject:getData(i)];
}


Danil.. 7

如果您正在使用不可变数组,这是在数组中添加对象的另一种方法.哪个是线程安全的.

你可以使用arrayByAddingObject方法.有时候它好多了.以下是对它的讨论:NSMutableArray vs NSArray哪个更好



1> pgb..:

如果你创建了一个,NSArray你就无法向它添加元素,因为它是不可变的.你应该尝试使用NSMutableArray.

另外,你颠倒了alloc和的顺序init.alloc创建一个实例并init初始化它.

代码看起来像这样(假设getData是一个全局函数):

NSMutableArray *stringArray = [[NSMutableArray alloc] init];
for(int i=0; i< data.size; i++){
   [stringArray addObject:getData(i)];
}



2> Danil..:

如果您正在使用不可变数组,这是在数组中添加对象的另一种方法.哪个是线程安全的.

你可以使用arrayByAddingObject方法.有时候它好多了.以下是对它的讨论:NSMutableArray vs NSArray哪个更好

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有