NSMutableArray addObject不工作(添加零指针)
我想添加对象到一个NSMutableArray(它已被正确分配和合并)。运行addObject之后,调试器说数组中有正确数量的元素,但所有元素都指向0x0。我不能在程序的后面访问元素。截图在这里NSMutableArray addObject不工作(添加零指针)
http://imageshack.us/photo/my-images/818/screenshot20110801at344.png/
我缺少什么?
注意,被添加到阵列的“风暴”的对象看起来在调试好...
的感谢!
从您发布的代码中,一切都看起来很好。如果你过度释放,那么你不会在数组中填充指针,并且在调用addObject时有两个元素是合理的:两次。可能会出错的一件事是您对cycloneDatabase数组的初始化。检查你是否正确初始化它cycloneDatabase = [[NSMutableArray alloc] init]
。我不能说我以前见过这个。
P.S.轻微的挑剔,你不应该使用get *方法,比如你的getCycloneWithName :.得到*意味着你通过引用返回,在这种情况下你不是,所以它应该只是cyloneWithName::)
同意,并进一步补充说,由于NSArray的不能持有'零',调试器可能在某种程度上说谎。在没有其他任何东西的情况下,我猜这个数组实际上是好的,如果@Dmitri以后不能访问这些元素,那么其他地方就会发生其他事情。 –
@quixoto感谢gdb提示。调试器没有向我显示我想看到的值至少是问题的一部分。至于其余的部分,我最终得出结论......我想这会教给我一个单元测试的课程,并保持代码的组织。 (即在comp。sci。领域时,如comp-sci专业/专业人员) – Dmitri
你如何分配/初始化cycloneDatabase? – highlycaffeinated
如果在此断点处在控制台/输出窗口中执行“po cycloneDatabase”,会得到什么结果? (我发现GUI变量的解释出人意料地不可靠)。 –
<__ nsarraym>( ) –
Dmitri