I found this on Github, but I do not know what this code is doing. Can anyone please explain?
- (id)initWithTitle:(NSString *)title 
            message:(NSString *)message 
    completionBlock:(void (^)(NSUInteger buttonIndex))block 
  cancelButtonTitle:(NSString *)cancelButtonTitle 
  otherButtonTitles:(NSString *)otherButtonTitles, ... {
In particular what is this (void (^) thing, and how is the ... used at the end?
                        
The
(void (^)(NSUInteger buttonIndex))block, as the label and parameter name indicate, is a Block, which is a chunk of runnable code that is also a first-class object.The ellipsis,
..., indicates that the method takes a variable number of final arguments. This functionality is commonly known by its C library name, "varargs". The more formal term is "variadic".