2015-11-04 7 views
5

フォーマット指定子を使用していましたが、%dまたは%@のように一般的でしたが、今日はチュートリアルで%[email protected]%2$dを見てわかりませんでした彼らが表現するもの。
これは電卓の例なので、次の文で使用しています。stack = [NSString stringWithFormat:@"%[email protected]%2$d",stack,number];

答えて

5

数値は位置パラメータを表します。書式文字列に続くパラメータは、パラメータリスト内の位置に基づいて文字列に挿入されます。最初のパラメータは%1スロットに入り、2番目のパラメータは%2スロットに入ります。目的は、用語/単語/などの順序がデフォルトから変更される可能性のある言語を扱うことです。実行時にパラメータの順序を変更することはできませんが、パラメータが文字列の正しい場所にあることを確認できます。フォーマット文字列が変更されたこと

NSLog(@"%[email protected], %[email protected]", @"Red", @"Blue"); 
NSLog(@"%[email protected], %[email protected]", @"Red", @"Blue"); 

出力

Red, Blue 
Blue, Red 

ますが、パラメータは同じ順序です。

+0

が表示されます。しかし、なぜ私たちは '$'記号を使用していますか? –

+0

これは素晴らしいです、私はこれを知らなかった! –

+0

$は位置の一部です。私はそれらを私の例から外しました。種類のタイプミス。 – Avi

関連する問題