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

我在 5.0 和 5.1 模拟器中的所有项目都有同样的问题。XCode 4.3.3 为我解决了这个问题。

于 2012-07-12T20:32:04.963 回答
0

我可以在 iDevice 和模拟器中确认与 iOS 4.3、5.0 和 5.1 完全相同的问题。从 Xcode 4.3.1 到 4.3.2 的更新并不能解决这里的问题......

在方案设置中切换回 GDB 调试器可以解决问题。

于 2012-04-12T14:44:13.407 回答
0

我可以确认使用 4.3.1 Xcode 的 5.0 和 5.1 模拟器存在同样的问题。与 Xcode 4.2.1 和 5.0 模拟器相同的代码没有问题。注意到可变数组是按照它们在 .h 文件中的顺序分配的——在调试模式下单步执行 .m 代码很有趣,因为数组是乱序分配的。解决方案?等待Apple修复问题,报告错误等。

于 2012-03-21T15:57:35.990 回答