-4

我想创建一个Objective-C Class类型NSArray,但我不知道如何初始化它或如何添加数据。

我做了以下事情:

1-创建一个新文件

在此处输入图像描述

2-我选择了Objective-C Class在此处输入图像描述

3-我选择了一个Subclass of类型NSArray 在此处输入图像描述

出现两个文件:

。H:

#import <Foundation/Foundation.h>

@interface ArrayClass : NSArray

@end

.m

#import "ArrayClass.h"

@implementation ArrayClass

@end

我的问题是:下一步是什么。

1-在这个类中调用什么方法。

2-如何初始化数组。

3--(id)init足够了

编辑: 我有一个解析器,我ViewController需要用不同的 XML 链接初始化另一个解析器,所以这就是为什么我需要一个具有NSArray类型的新类

提前致谢。

4

4 回答 4

2

我将仅发布此内容,以便有人声明。

NSArray 是一个类簇,是一个内部实现的包装器。它的内部细节会根据数组的内容和大小而变化,因此可以针对性能进行优化。因此,继承 NSArray(或 NSDictionary)并不是一个好主意。

我想您可以通过在其上添加类别来扩展该类,这是一种更好且更“可可”的添加功能的方式。Apple 开发人员文档中有一些关于设计模式的指南,可以对此提供帮助。

也许重述这个问题,所以我们都很清楚,因为我们很困惑你是否真的想继承它或只是创建一个。

于 2013-03-20T11:55:24.173 回答
0

如果您只是尝试使用NSArrayjust ,请执行以下操作:

NSArray  *myArray = [NSArray arrayWithObjects:@"foo",@"bar",@"baz",nil];

除非您想更改实际结构和扩展,否则无需做您正在做的事情NSArray

于 2013-03-20T11:49:35.633 回答
0

如果您真的想扩展,请查看此答案NSArray

如果您不打算扩展 NSArray 的功能,您可能正在寻找创建 NSArray 的实例,这就像进入NSArray *arrayName = [[NSArray alloc] init]某个需要数组的区域一样简单,

于 2013-03-20T11:50:25.633 回答
0

或者,如果您想要一个数组,您可以动态添加您想要的数据

NSMutableArray *arr = [[NSMutableArray alloc] init];

这一切都取决于你想要什么。

于 2013-03-20T12:02:55.230 回答