NSString* name = @"abc";
NSLog(name,nil);
私に教えてくれる人は、なぜゼロを追加するのですか? ありがとうございます。NSLogの印刷変数を使用する理由は何ですか?
NSString* name = @"abc";
NSLog(name,nil);
私に教えてくれる人は、なぜゼロを追加するのですか? ありがとうございます。NSLogの印刷変数を使用する理由は何ですか?
NSLog
の署名はvoid NSLog (NSString *format, ...);
です。
したがって、最初の引数は、むしろリテラル文字列ではなく形式です。 2つ目(およびそれ以降のすべて)の引数は、書式文字列の置換値です。
フォーマット文字列をログに記録する文字列に置き換えないでください。あなたの文字列に%d
NSLog
のような書式指定子が含まれていると、その文字列を置換しようとしますが、置換文字を入力していない場合はそうしません。
string
を記録する場合は、常にNSLog(@"%@", string)
と記録してください。
NSLog
を使用してNSString
を印刷する正しい方法はNSLog(@"%@", name);
です。
全く必要ありませんが、constのNSStringのNSLog
見込ん:限りなど%p
、%d
、%s
、%@
、
NSLog(myString);
のような特別なフラグが存在しないよう
NSLog(@"%@", name);
もののを、
も機能します。
なぜですか? NSLog(someString)の何が問題なのですか? – MByD
私のやり方がサンプルではっきりとしています – HelloWorld
@BinyaminSharet 'someString'に'%s'のような特殊文字が含まれている場合、 'NSLog'は別の引数を期待します。その引数がない場合、アプリはクラッシュします。 – v1Axvw