在iOS8中,numberOfRowsInSection被调用了太多次?

时间:2014-09-09 04:54:48

标签: ios uitableview swift ios8

似乎自iOS 8问世以来,当显示现有的UITableView时,始终会调用numberOfRowsInSection函数。

在iOS 8上,当从标签栏控制器切换标签时,一个包含表格视图, - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  即使没有调用表函数,也总是被调用。

在iOS 7上,当从标签栏控制器切换标签时,一个包含表格视图,  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  不被称为。

任何人都知道为什么这种行为出现在ios8中?解决它?

1 个答案:

答案 0 :(得分:1)

我有同样的问题,当切换tab watchview调用一些代表时,我测试了" Time Profiler"并发现如果你的viewController在ios 8中添加了一个tableview,它会在ios 8中自动调用[UITableView didMoveToWindow](私有方法)。之后整个shit发生,它调用表委托并且性能下降。我试图找出如何停止这些电话,如果有人发现它请更新..

以下是我在标签之间切换后函数调用堆栈的截图 -

http://www.imageno.com/77dx9lss0qlmpic.html