23
文字列の書式設定を使用しているときに、もう一度渡すことなく1つのパラメータに複数回アクセスできますか?"NSString stringWithFormat:" - 同じパラメータに複数回アクセスしますか?
例:
NSString *parameter1 = @"1";
NSString *parameter2 = @"2";
NSString *myString;
myString = [NSString stringWithFormat:@"I want to print parameter1 here: %@, parameter2 here: %@ and now access parameter1 again: %@ _without_ passing it again.",parameter1, parameter2, parameter1];
記述することなく、再び最初のパラメータにアクセスする方法は、再び」パラメータ1" はありますか?
注意を。例えば。次のコードは、最初の位置引数が書式文字列で使用されていないため、実行時にバグが発生します。 '[NSString stringWithFormat:@"%2 $ @ "、@" bar "、@" foo "]' - http: //stackoverflow.com/questions/2946649/nsstring-stringwithformat-swizzled-to-allow-missing-format-numbered-args – mrb
@mrb右。これはCでの可変引数( '...')の実装の副作用です(バグではありません)。書式設定関数に引数の型を指定しないと(少なくとも1回はそれを参照することによって)引数の後ろにあるものを正しく見つける方法がありません。 – hamstergene
私はそれをpredicateWithFormatで試しましたが、動作しません。どのように述語の引数の位置を使用できますか? – Add080bbA