【发布时间】:2013-04-03 13:40:08
【问题描述】:
我正在尝试为仅使用整数的 NSMutableArray 子类创建一个函数,但我不想使用“计数”。我该怎么做?
-(NSMutableArrayWithIntegers*)initWithCount:(NSInteger)count numbers:(NSInteger)firstInt, ...
{
self = [super init];
if (self) {
va_list args;
va_start(args, firstInt);
NSInteger arg = firstInt;
for (int i = 0; i < count; i++)
{
arg = va_arg(args, NSInteger);
[self addObject: [NSNumber numberWithInteger:arg]];
}
va_end(args);
}
return self;
}
【问题讨论】:
-
“不想使用
count”是什么意思? -
@trojanfoe 我猜他想使用可变参数,但不必将计数指定为参数之一
-
为了一切神圣的爱,不要继承 NSMutableArray
-
是的,听@psoft。如果你想创建一个像可变数组一样的类,那么我建议使用 NSObject 并给它一个 NSMutableArray 或向它添加一个类别。无论你做什么,都不要继承 NSMutableArray。
-
对于您正在做的事情,使用
NSIndexSet、NSIndexPath或NSCountedSet可能会更幸运。
标签: objective-c nsmutablearray