iOS开发问题。 一个UITableView调用reload方法之前初始化数据源,然后主线程调用r 30

iOS开发问题。一个UITableView调用reload方法之前初始化数据源,然后主线程调用reload,如果连续执行100次上面的流程,那么偶尔会出现数据源错误的闪退... iOS开发问题。
一个UITableView调用reload方法之前初始化数据源,然后主线程调用reload,如果连续执行100次上面的流程,那么偶尔会出现数据源错误的闪退问题

从日志上看在第N次初始化数据源时,在没有经过reload之前,触发了第N+1次初始化数据源,那么数据源就改变了,这时再执行第N次reload会由于数据源数量不同导致闪退

请问大神们是否有办法解决此问题?如果不将初始化数据源也放进主线程,还有没有别的办法保证数据一致性?谢谢!
展开
 我来答
夜独行孤单
2016-04-20 · TA获得超过3460个赞
知道大有可为答主
回答量:2803
采纳率:82%
帮助的人:638万
展开全部
在UITableViewController类里添加了一个tableview1,里面刷新界面数据的函数如下
-(void)refreshView:(BOOL)flag
{
if (flag == YES)
{
[self getData:nil];
[self.tableView1 reloadData];
}
}

在B类中当数据改变时调用上边的函数
View1是上边类的实例
[View1 refreshView:flag];

这样reloadData 虽然执行了 但是界面数据并没有更新,

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式