我想创建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
类型的新类
提前致谢。
答案 0 :(得分:2)
我将发布此内容,以便由某人说明。
NSArray是一个类集群,是内部实现的包装器。它的内部细节会根据数组的内容和大小而变化,以便针对性能进行优化。因此,子类NSArray(或NSDictionary)不是一个好主意。
我想你可以通过在其上添加一个类来扩展类,这是一种更好,更“可可”的方式来添加功能。 Apple开发人员文档中有一些关于设计模式的指南,可以为此提供帮助。
也许重述一下这个问题,所以我们都很清楚,因为我们对你是否确实想要将其子类化或只是创建一个而感到困惑。
答案 1 :(得分:0)
如果您只是尝试使用NSArray
,请执行以下操作:
NSArray *myArray = [NSArray arrayWithObjects:@"foo",@"bar",@"baz",nil];
除非您想要更改实际结构并扩展NSArray
,否则无需执行您正在执行的操作。
答案 2 :(得分:0)
如果您真的想扩展NSArray
如果您不打算扩展NSArray的功能,您可能正在寻找NSArray的创建和实例,这就像在需要数组的某个区域中转到NSArray *arrayName = [[NSArray alloc] init]
一样简单,
答案 3 :(得分:0)
或者如果你想要一个数组,你可以动态地添加数据,你想要
NSMutableArray *arr = [[NSMutableArray alloc] init];
这一切都取决于你想要的。