0

実際にデバッガーに表示されるタイプ NSString * を使用してメソッドに変数を渡しました。

po [myString class]
__NSCFString

デバッガー プロンプトからの場合po myString、文字列の値を確認できます。ただし、NSLog を実行すると、印刷されません。私が理解していることから、NSString と __NSCFString は無料でブリッジされているため、一方を他方と同じように使用できます。では、なぜ NSLog ステートメントから出力されないのでしょうか? それを強制するために私ができることはありますか?

文字列は次のように初期化されます。

NSString *result = [NSString stringWithUTF8String:(const char *)content];

この結果変数は、NSString * 引数を使用して、あるオブジェクトから別のオブジェクトに渡されます。NSLog ステートメントは次のようになります。

NSLog(@"Did not find \n%@ %@\n%@",key, name, myString);

keythis の出力にはとの値が含まれますが、 は含まれnameませんmyString。次の行にブレークポイントを設定すると、poコマンドを使用して myString の値を照会できます。

4

0 に答える 0