UITableView崩溃阵列问题帮助

时间:2011-08-20 15:58:30

标签: iphone objective-c uitableview nsarray

我有一个UITableView并且我试图使用[arrayName count]返回行数但是当我运行应用程序时它似乎崩溃而没有在控制台中显示错误。这是一些代码..(当我使用NSLog在ViewDidLoad中测试数组时,它确实返回'16'所以我不确定为什么它在行数时会崩溃。谢谢..

3 个答案:

答案 0 :(得分:1)

您不需要释放htmldata,因为它已经自动释放。删除[htmldata release];行,它应该可以正常工作。

此外,您不会在[super dealloc]行之后释放对象。将行[elements release];带到超级dealloc之前。

答案 1 :(得分:1)

我认为问题出在这一行:

elements  = [xpathParser search:@"//div[starts-with(@id,'content_div')]//a"];

我想- search方法返回一个自动释放的对象,以便elements对象在方法viewDidLoad返回后收到释放消息,从而被解除分配。

您可以通过两种方式解决此问题:

  • 添加retain电话,就像这样

    elements = [[xpathParser search:@"//div[starts-with(@id,'content_div')]//a"] retain];

  • 使用属性,像这样

    self.elements = [xpathParser search:@"//div[starts-with(@id,'content_div')]//a"];

答案 2 :(得分:0)

您不对元素进行保留,并且在分配元素时,将其直接分配给属性,而不是通过设置器。

尝试:

self.elements  = [xpathParser search:@"//div[starts-with(@id,'content_div')]//a"];

另外,不要忘记在dealloc方法中释放它。