3

次のようなコードを書きます。

_myDataArray = [[NSMutableArray alloc] initWithCapacity : kNum];

for (int i=0; i<kNum; i++) {
    MyData *myData = [[[MyData alloc] init] autorelease];
    pageData.title = [NSString stringWithFormat:@"No.%d line", i];
    [_myDataArray addObject:myData];
}

iOS 4.3 シミュレーターでは問題ありませんが、lldb デバッガーでは _myDataArray が nil と表示されます

(lldb) po _myDataArray
(NSMutableArray *) $2 = 0x00000000 <nil>

iOS 5.0/5.1 シミュレータでは Xcode 4.3.1 ですが、表示の結果は正しいです。

Xcode 4.3.2 では、この問題が修正されているようです。

4

3 に答える 3

0

4.3.1 Xcodeを使用して、5.0および5.1シミュレータで同じ問題が発生していることを確認できます。Xcode4.2.1および5.0シミュレータと同じコードで問題は発生しません。可変配列が.hファイルにある順序で割り当てられることに注意してください-配列が順不同で割り当てられるため、デバッグモードで.mコードをステップ実行するのは楽しいことです。解決?Appleが問題を修正するのを待ち、バグを報告するなど。

于 2012-03-21T15:57:35.990 に答える
0

iOS 4.3、5.0、5.1でも、iDeviceとSimulatorの両方でまったく同じ問題を確認できます。Xcode 4.3.1から4.3.2へのアップデートでは、ここでの問題は解決されません...

スキーム設定でGDBデバッガーに戻すと、問題が解決します。

于 2012-04-12T14:44:13.407 に答える