读书人

iOS 多参数 .NS_REQUIRES_NIL_TERMINA

发布时间: 2012-09-28 00:03:35 作者: rapoo

iOS 多参数 ...NS_REQUIRES_NIL_TERMINATION 的写法

1.很早就看到项目里面有下面这样的写法

#import <Cocoa/Cocoa.h>@interface NSMutableArray (variadicMethodExample)- (void) appendObjects:(id) firstObject, ...; // This method takes a nil-terminated list of objects.@end@implementation NSMutableArray (variadicMethodExample)- (void) appendObjects:(id) firstObject, ...{id eachObject;va_list argumentList;if (firstObject) // The first argument isn't part of the varargs list,  {                                   // so we'll handle it separately.  [self addObject: firstObject];  va_start(argumentList, firstObject); // Start scanning for arguments after firstObject.  while (eachObject = va_arg(argumentList, id)) // As many times as we can get an argument of type "id"      [self addObject: eachObject]; // that isn't nil, add it to self's contents.  va_end(argumentList);  }}@end



读书人网 >操作系统

热点推荐