私はこのように定義された文字列定数を持っています:
#define kMyString @"This is my string text!";
コードのどこかで、NSLogを使用してこのようなコードを次のように出力したいと思います。
NSLog(@"This is it: %@",kMyString);
ただし、ビルドエラーが発生します:Expected expression
。
私はすでにAppleの Format Specifiers を見てきましたが、それを理解できませんでした。
誰かがこれを行う方法を私に説明してもらえますか?
ありがとう!
kMyString
の定義から;
を削除する必要があります。
#define kMyString @"This is my string text!"
あなたがそれをした方法は次と同等です:
NSLog(@"This is it: %@", @"This is my string text!";);
%@
はオブジェクト用です。 BOOL
はオブジェクトではありません。
データタイプ%@
次のように変更
For Strings you use %@
For int you use %i
For float you use %f
For double you use %lf
#define
の後のセミコロンを削除し、%@
を使用すると動作します。