繁体   English   中英

UITableView numberOfRowsInSection 被多次调用

[英]UITableView numberOfRowsInSection called multiple times

填充表格视图时应该调用tableView:numberOfRowsInSection方法多少次?

我的应用程序崩溃,没有警告、错误或堆栈跟踪。 我还测试了内存泄漏,但没有发现。 该应用程序保持稳定在 1.4MB 左右。

当方法被发送消息时,我有 NSLog 报告,我注意到tableView:numberOfRowsInSection被多次调用。 该应用程序在这些“额外”调用之一期间崩溃。 应用程序崩溃的点各不相同。 我应该指出,如果这有所不同的话,该表将填充大约 600 个单元格。

如果你愿意,我可以发布代码,但我的数据源来自一个singleton class ,所以代码很多。 任何帮助将不胜感激。

我遇到了同样的问题,第一次 tableview 实例不是 nil,随后它是 nil。 问题是,我还没有设置返回值

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

正因为如此,它一直在发生。 一旦我设置了返回值,问题就消失了。 希望这可以帮助某人。

请参阅我在另一个类似问题中的回答: 链接
基本上,对表视图的委托方法的调用可以由不同的事件触发。 UITableView 多次调用numberOfRowsInSection对我来说并不奇怪(即使对于同一部分)。

最好的方法是使用Lazy table 图像加载 所以 600 个单元是一个很大的数量,如果你一次调用所有数据,它总是会因为内存问题而崩溃。

尝试使用我提供的代码。

stackoverflow上的另一个答案可以帮助您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM