varargsのリストを調べていますが、リストの最後のオブジェクトに到達すると、常に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:質問を更新し、実際に間違ったことを明らかにするために作成したエラーを追加しました。以下の私の答えを参照してください。