现在,我有这个:// .h- (NSArray *)createNumberArrayWithInts:(NSInteger)firstArg, ... NS_REQUIRES_NIL_TERMINATION;// .m- (NSArray *)newNumberArrayWithInts:(NSInteger)firstArg, ... {...
现在,我有这个:
// .h
- (NSArray *)createNumberArrayWithInts:(NSInteger)firstArg, ...
NS_REQUIRES_NIL_TERMINATION;
// .m
- (NSArray *)newNumberArrayWithInts:(NSInteger)firstArg, ... {
NSMutableArray *lCreatedArray = [NSMutableArray alloc];
va_list args;
va_start(args, firstArg);
for (NSInteger arg = firstArg; arg != nil; arg = va_arg(args, NSInteger)) {
NSNumber *lTempNumberObject = [[NSNumber alloc] initWithInteger:arg];
[lCreatedArray addObject:lTempNumberObject];
[lTempNumberObject release];
}
va_end(args);
NSArray *lImmutableArray = [[NSArray alloc] initWithArray:lCreatedArray];
[lCreatedArray release];
return lImmutableArray;
}
但与 nil 的比较是不正确的,因为 int 不是对象。使用 NSNumbers 对我来说没有意义,因为我试图不在此方法之外分配对象。
该怎么办?
Objective C 中接受原语的可变参数函数
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!