2

私はすべてを正しく行っていると思いますが、NSLogの出力は、変数にカーソルを合わせると表示される正しい値と一致しません。合成とドット表記は正しく機能しています。
//コメントに示されているように、すべての変数にカーソルを合わせると正しい値が表示されます。ただし、NSlogはデバッガコンソールに正しく表示されません。//コメントにも出力が表示されます。

テストでは、ScreenClassのインスタンスは次のとおりです。

{   int i;
    char j;
}

AppDelegateの場合:

test.i = 10;    // hover shows 10        OK
test.j = 'z';   // hover shows 122 'z'   OK
NSLog(@"i= %i, j= %c"),test.i, test.j;// hover shows 10,122 'z'OK  
but Debugger Console shows  i= 2097168, j= $  


int k = 10; // hover shows 10        OK
char l = 'z';   // hover shows 122 'z'   OK
NSLog(@"k= %i, l= %c"),k, l;          // hover shows 10,122 'z'OK  
but Debugger Console shows  k= 6055, l= ,

私は何が欠けていますか?それとも、これはXcode 3.2.4、OSX 10.6の真のバグですか?

4

1 に答える 1

5

NSlog()format引数を渡す前に、の括弧を閉じました。これを変える:

NSLog(@"i= %i, j= %c"),test.i, test.j;

これに:

NSLog(@"i= %i, j= %c",test.i, test.j);

関数呼び出しで引数を区切る以外に、ステートメントを区切るためにコンマを使用することもできます。あなたの試みは以下と同等です:

NSLog(@"i= %i, j= %c"); // An NSLog with no args, will print garbage.
test.i; // A valid, though pointless, statement.
test.j; // A valid, though pointless, statement.
于 2012-11-27T05:34:55.157 に答える