我创建了一个接受可变参数的方法,例如
- (NSDictionary *) getImagePixelsAtLocation: (int) locations,...NS_REQUIRES_NIL_TERMINATION
但是当我向这个类方法发送消息时,被调用方法中位置变量的值是 0(我传递了多少参数都没有关系)。
该方法接收标量数据类型。我的问题是:我们可以将标量变量作为可变参数传递给方法吗?如果是,我做错了什么?
方法定义为:
- (NSDictionary *) getImagePixelsAtLocation: (int) pixel1,...
{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
va_list args;
va_start(args, pixel1);
//processing logic
va_end(args);
}
这就是我发送消息的方式:
[HSImageProcessing getImagePixelsAtLocation:1,2,nil];