ios 可变参数

@interface MyObject : NSObject {
  NSMutableArray *_parameters;
}
- (id)initWithObject : (id)firstObj, ... NS_REQUIRES_NIL_TERMINATION;
@end

////////////////////////////////////////////////////////////////////////////////////
@implement
- (id)initWithObject : (id)firstObj, ... {
    if (self = [super init]) {
        _parameters = [[NSMutableArray alloc] init];
  
        va_list args;
        va_start(args,firstObj);
        if (firstObj != nil) {
            [_parameters addObject:firstObj];
            id nextobj = nil;
            while ((nextobj = va_arg(args, id)) != nil) {
                [_parameters addObject:nextobj];
            }
        }
    }
    return self;
}
@end

猜你喜欢

转载自hulefei29.iteye.com/blog/1672571
今日推荐