如何使用初始化程序initWithObjects创建一个类?
或者从NSArray继承并以这种方式解决它是否更有意义?
答案 0 :(得分:4)
initWithObjects:使用C变量参数列表实现。这是一个示例实现:
- (void)setContentByAppendingStrings:(NSString *)firstArg, ...
{
NSMutableString *newContentString = [NSMutableString string];
va_list args;
va_start(args, firstArg);
for (NSString *arg = firstArg; arg != nil; arg = va_arg(args, NSString*))
{
[newContentString appendString:arg];
}
va_end(args);
[contents autorelease];
contents = [newContentString retain];
}
有关详细信息,请参阅this page。
答案 1 :(得分:-3)
@interface foo : NSObject {
NSArray* objects;
}
-(id)initWithObjects:(NSArray*)array;
@end
@implementation foo
-(id)initWithObjects:(NSArray*)array{
if(self = [super init]){
objects = array;
}
return self;
}
@end