我在viewcontroller
应用中有一个universal
,其中包含5个coloumns(UITableview
)。最初,我从CoreData
获取数据,然后将其分类为5 NSArrays
。之后,我通过以下代码调用所有5 UITableViews
重新加载。
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[_tvLeftMost reloadData];
}];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[_tvLeft reloadData];
}];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[_tvCenter reloadData];
}];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[_tvRight reloadData];
}];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[_tvRightMost reloadData];
}];
在IOS7&8(iPAD3)
上,数据在0.5秒内被提取。但重新加载表在iOS8
上需要5秒,在iOS7
上需要20秒以上。 UITableView's
单元格并不复杂,只涉及本地UIImage
&一个UILabel
。如何减少iOS7
上的渲染时间?
答案 0 :(得分:0)
尝试以下面的方式重新加载UITableView -
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
如果你的UITableView从web url加载图像,那么它必须是异步图像加载。请查看this教程以获取异步图像加载。