Как сделать метод как UIActionSheet initWithTitle - PullRequest
1 голос
/ 30 января 2012

Как я могу сделать метод с параметром является неограниченным массивом, как это:

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

В приведенном выше коде параметр otherButtonTitles может иметь неограниченное количество NSString, как "abc", "xyz", .. Может сделатьэто с другим типом параметра?
Заранее спасибо!.

1 Ответ

1 голос
/ 23 февраля 2012

Вы можете сделать это с любым типом объекта.

В шапке

- (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);
}
...