我必须创建一个动态NSArray,也就是说,我不知道数组的大小,或者数组将包含哪些元素.这些元素需要动态添加到数组中.我看了NSArray的课堂参考资料.有一个名为arrayWithObjects的方法,应该在初始化数组本身时使用.但我不知道如何实现我需要做的.

我需要做一些如下的事情:

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

推荐答案

如果你创建了一个NSArray,你将无法向它添加元素,因为它是不可变的.你应该试着用NSMutableArray来代替.

而且,你颠倒了allocinit的顺序.alloc创建一个实例,init初始化它.

代码如下所示(假设getData是一个全局函数):

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

Objective-c相关问答推荐

如何判断 iPhone 现在在哪个位置(横向或纵向)?

UITextField secureTextEntry 带有自定义字体的项目符号?

我需要在 ARC 中使用 dealloc 方法吗?

Objective-C 对象的列表 Select 器

是否可以将 NSInteger 转换为 NSNumber?

是否可以在 nsstring 中包含引号?

在Objective C中迭代枚举?

iOS - 应用程序关闭时的核心位置和地理围栏

在运行时判断 iOS 版本?

接口类型不能静态分配?

首次提交应用内购买以供审核

如何在Objective C(NSRegularExpression)中编写正则表达式?

'supportedInterfaceOrientations' 实现中的返回类型冲突: - 警告

Cocoa 的依赖注入框架?

#ifdef DEBUG 与 #if DEBUG

UILabel 根据要显示的文本自动调整大小

既然我正在使用 Core Data,如何对我的模型进行单元测试?

根据文本量更改 UITableViewCell 高度

通过点击状态栏滚动到 UITableView 的顶部

将自定义子视图(在 xib 中创建)添加到视图控制器的视图 - 我在做什么错