シャープ記号とフラット記号にこれらの Unicode 定義を使用していましたが、これらは文字列連結で正常に機能します。
#define kSharpSymbol [NSString stringWithFormat:@"\U0000266F"]
#define kFlatSymbol [NSString stringWithFormat:@"\U0000266D"]
[...]
// Set F#
[f setNoteLetterName:[NSString stringWithFormat:@"F%@",kSharpSymbol]];
次に、 Unicode フォーマットに依存することは Apple によって推奨されていないというSO の質問を読みました。
形式は「unsigned short」型を指定していますが、引数の型は「int」です
#define kSharpSymbol [NSString stringWithFormat:@"%C", 0x266F]
#define kFlatSymbol [NSString stringWithFormat:@"%C", 0x266D]
[...]
// Set F#
[f setNoteLetterName:[NSString stringWithFormat:@"F%@",kSharpSymbol]];
これについては、明確にする必要があると思います。何が最善で、コンパイラを満足させるにはどうすればよいですか?