次に、#define hhh "uu"
次の方法を使用して文字列を連結したい:
NSString *str [NSString stringWithFormat@"%@%@",hhh,"ii"];
しかし、コンパイルエラーが発生します。
次に、#define hhh "uu"
次の方法を使用して文字列を連結したい:
NSString *str [NSString stringWithFormat@"%@%@",hhh,"ii"];
しかし、コンパイルエラーが発生します。
:
最初の問題: の後にコロンがありませんstringWithFormat
。2 番目の問題: 変数名str
と初期化式の間に代入演算子がありません。
3 番目の問題: フォーマット文字列の 2 番目の引数@"%@%@"
はプレーンな標準 C 文字列 (aka, char*
) であり、フォーマット文字列はオブジェクト (aka, NSString
) を呼び出します。@
文字列リテラルの先頭に aを追加します。
NSString* str = [NSString stringWithFormat: @"%@%@",hhh,@"ii"];
(編集の仮定が間違っています。私は見落としましたdefine
:ここでは、それhhh
はオブジェクト参照であると仮定します。たとえば、id
、NSString*
または何か)。
hhh
もプレーン文字列であるため、フォーマット文字列でプレースホルダーとして指定する必要があります%s
。
NSString* str = [NSString stringWithFormat: @"%s%@",hhh,@"ii"];
@schが推奨したように。