次のように NSLog を使用しようとすると:
NSLog(@"one" @"two" @"three");
これは機能し、コンソールに onetwothree を出力します。しかし、私がこのように使用しようとすると
NSString *s = [NSString stringWithFormat:@"three"];
NSLog(@"one" @"two" s);
上記は機能せず、「Expected ')'」というコンパイル時エラーが発生します。どうすればよいかわかりません。
助けはありますか?
PS XcodeColors を使用しようとしていますが、上記のように NSLog に引数を与える必要があります。以下のように使用すると答えないでください。私はこれが機能することを知っています。しかし、上記のように引数を NSLog に渡す必要があります。
NSString *s = [NSString stringWithFormat:@"%@ %@ %@", @"one", @"two", @"three"];
NSLog(s, nil);
編集:
このように NSLog を使用して、目的の結果を得ることができます。
NSString *s = @"ss";
NSLog(@"one" @"two" @"%@",s);
それは私の別の質問につながります。NSLogのマクロを作りたいです。マクロは次のようになります。
LOG_X(val) NSLog(@"xx" @"yy" @"%@",val @"zz")
以下が機能する場合:
LOG_X(@"one")
LOG_X(@"one" @"two" @"three")
しかし、以下は機能しません
NSString *s = @"one two three";
LOG_X(s);
同じエラー「Expected ')'」が表示されます