的EXC_BAD_ACCESS在进行第八http://cocoawithlove.com/2009/05/variable-argument-lists-in-cocoa.html样品,我写的可变参数方法的一些自定义的操作为他们转发到另一种方法。掌握的va_list
- (void) someMethod:(NSString *)name
wittParamsAndKeys:(id)firstParam, ... {
va_list args;
va_start(args, firstParam);
NSDictionary* paramsAndKeys =
[[NSDictionary alloc] initWithObjectsAndKeys:firstParam, args, nil];
va_end(args);
}
,但我得到EXC_BAD_ACCESS。所以然后我试图从参数中删除nil
NSDictionary:
NSDictionary* paramsAndKeys =
[[NSDictionary alloc] initWithObjectsAndKeys:firstParam, args];
再次例外。现在我对initWithObjectsAndKeys:
发生了无效参数的例外。
我想知道是否存在只是将可变参数转发给另一种方法的方式?
我很感激这个答案。我是Objective-C的新手。我对C++有深入的了解,但从来没有像“可变参数”转发那样使用特殊的C语言。 – ajukraine 2011-03-18 18:50:19
@Max:你能解释一下't1'是什么变量吗? – Besi 2012-07-19 11:31:06
@Besi t1是方法定义中最后一个命名参数的名称 – Max 2012-07-19 16:34:42