作为测试,我在 applicationDidFinishLaunching 的第一行执行以下操作:
NSArray *list=[[NSArray alloc] initWithObjects:@"Andy",@"Erik",@"Aaron",nil];
该行运行后,数组中的对象为零。我正在沿着代码路径进一步执行此操作,但希望消除任何影响以确保我的语法正确。我用 NSMutableArray 得到了相同的结果。在调试器中,我将鼠标悬停在数组名称上以查看它是否有任何值。
当我将鼠标悬停在下一行的计数上时,我看到“varaible optimized awa... Summary”:
int count = [list count];
对于数组未填满以及计数未返回整数的原因有何建议?
最佳答案
发生的事情是您没有使用“计数”变量,编译器正在优化它。
1) 尝试在调试而不是 Release模式下运行。 Debug模式不会优化东西,所以你应该看到计数变量给出正确的结果,鼠标悬停在调试器中。您可以通过单击 xcode 左上角的下拉栏将事件配置更改为从发布调试。
2) 在您的代码中使用“计数”变量。请注意,在发布版本中,如果编译器想要这样做,事情可能会乱序发生。例如,如果您在某处有计数初始化语句,并且在代码中进一步使用了“计数”,则“计数”可能要等到实际使用“计数”之前才会设置。
关于iphone - NSArray initWithObjects : not loading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/688715/