印刷するには、以下の正しい形式は何*newString
ですか?
NSString *newString = @"Hello this is a string!";
NSLog(@newString);
印刷するには、以下の正しい形式は何*newString
ですか?
NSString *newString = @"Hello this is a string!";
NSLog(@newString);
シンボルは、@
いくつかの一般的な Objective-C オブジェクトを指定するための省略表現です。@"..."
文字列 (NSString
具体的には、通常の C 文字列とは異なります) を@[...]
表し、配列 ( NSArray
) を@{...}
表し、辞書 ( NSDictionary
) を表します。
最初の行では、記号NSString
を使用して既にオブジェクトを指定しています。インスタンスになりました。2 行目では、変数名を指定するだけです。@
newString
NSString
NSLog(newString);
理論的には変数名を付けることもできますが、それは危険な方法です。フォーマット指定子がある場合、フォーマット指定子に対応する引数を読み取ろうとするが、引数が存在しないためnewString
、アプリがクラッシュ/混乱する (またはアクセスしてはならないものにアクセスする) 可能性があります。NSLog
安全な解決策はNSLog(@"%@", newString);
. の最初の引数NSLog
はハードコーディングされ、変更できなくなりました。これで、単一の引数が必要であり、その引数を提供していることがわかったnewString
ので、安全です。
既に文字列を指定し、そのインスタンスを に渡しているだけなので、再度記号NSLog
は必要ありません。@