如何制作像UIActionSheet initWithTitle这样的方法

时间:2012-01-30 06:26:18

标签: objective-c optional-parameters

如何使用参数创建方法是这样的无限数组:

UIActionSheet *actionSheet = [[[UIActionSheet alloc]
                initWithTitle:@"Test Title"
                delegate:self
                cancelButtonTitle:@"Cancel"
                destructiveButtonTitle:@"Destructive"
                otherButtonTitles: @"abc", @"xyz",
                nil] autorelease];

在上面的代码中,参数otherButtonTitles可以有无限数量的NSString,如“abc”,“xyz”,.. 可以用其他类型的参数做到这一点吗?
提前谢谢!。

1 个答案:

答案 0 :(得分:1)

您可以使用任何类型的对象执行此操作。

在标题

- (void)myMethod:(NSObject *)first, ... NS_REQUIRES_NIL_TERMINATION;

实施

- (void)myMethod:(NSObject *)first, ... {
    va_list args;
    va_start(args, first);
    for (NSObject *o = first; o!=nil; o = va_args(args,NSObject*)) {
        NSLog(@"Here's your next object: %@", o);
    }
    va_end(args);
}