我正在浏览一个可变参数列表,当我到达列表中的最后一个对象时,我总是会BAD_ACCESS
出错。我强烈认为这是与ARC相关的问题。
这就是我所做的:
-(NSString *)replaceTokensWithStrings:(NSString *)firstKey, ... {
va_list _arguments;
va_start(_arguments, firstKey);
for (NSString *_currentArgument = firstKey; _currentArgument != nil; _currentArgument = va_arg(_arguments, NSString*)) {
NSLog(@"%@", _currentArgument);
}
va_end(_arguments);
return nil;
}
我必须以某种方式告诉编译器保留返回的结果,va_arg
但我似乎无法弄清楚在哪里以及如何应用这个范例。
更新 1:这就是我调用我的方法的方式:
[@"Hello <firstname> <lastname>" replaceTokensWithStrings:
@"firstname", @"Peter",
@"lastname", "Smith",
nil];
更新 2:我更新了我的问题并添加了一个错误,以揭示我实际上做错了什么。请看下面我的回答。