如何在Objective-C中用可变参数声明一个块函数?
NSString *(^fn)(va_list) = ^(...) { // ?
};
答案 0 :(得分:3)
您有两个问题:
va_list
参数与...
参数不同。下面是一个编译示例:
NSString *(^fn)(NSString *format, ...) = ^NSString *(NSString *format, ...){
va_list ap;
va_start(ap, format);
NSString *answer = [[NSString alloc] initWithFormat:format arguments:ap];
va_end(ap);
return answer;
};