升级我的SDK版本后,我注意到在viewWillAppear之前总是调用cellForRowAtIndexPath。以前执行顺序相反:viewWillAppear总是在cellForRowAtIndexPath之前调用。因为我的应用程序逻辑经常使用viewWillAppear初始化随后在cellForRowAtIndexPath中使用的对象,所以应用程序经常崩溃。
我试图寻找关于这一变化的官方赎罪但没有成功。我可以将初始化代码移动到viewDidLoad,但是想看看是否有更好的解决方案或更多有关此行为变化的信息。
答案 0 :(得分:2)
你可以添加一行
[self.tableView reloadData];
在viewWillAppear的末尾,您的问题将得到修复
答案 1 :(得分:1)
不是“cellForRowAtIndexPath
之前调用的viewWillAppear
”,[super viewWillAppear:animated]
将调用UITableView的委托。
我犯了同样的错误,我花了很多时间才找到它。