af网络请求里,刷新tableview,reloaddate方法执行两次
来源:互联网 发布:File_priv mysql 编辑:程序博客网 时间:2024/06/12 22:37
其实并不是执行两次,
之所以在cellforheight跟cellforrow方法里打印了两遍的结果
是因为,
一:使用了xib来展示tableview。二:reloaddata不会等待tableview完全刷新完才返回,而是立即返回,这也就是输,你加在reloaddata后边的代码会立即执行(包括对某个,某些cell的操作),然后tableview可能才执行,这样引起的后果就是,你对cell的数据展示等的操作,可能被tableview的reloaddata重新置空或赋新值。
解决方法有两个:
方法1:
[self.tableView reloadData];
layoutIfNeeded会强制重绘并等待完成。
方法2:
[self.tableView reloadData];
reloadDate会在主队列执行,dispatch_get_main_queue会等待机会,知道主队列空闲才执行。
dispatch_async(dispatch_get_main_queue(), ^{
//刷新完成
});
我选择的是方法二,因为对于UI的操作,我认为还是让主线程来自动操作的好.
阅读全文
0 0
- af网络请求里,刷新tableview,reloaddate方法执行两次
- Struts2 请求一次Action,却执行两次方法的解决
- swift3 AF网络post和get请求
- 一次请求 服务端执行两次
- 函数方法执行两次
- 使用AF的一个简单网络请求封装+ (instancetype)sharedInstance;
- swift代码之路(三)AF网络请求
- swift代码之路(三)AF网络请求
- iOS 基于AF网络请求封装的简易思路
- struts2 下 ajax 请求被执行两次
- 一次请求执行两次同一html页面
- tableView代理方法执行顺序
- ajax执行后台方法执行了两次
- 网络请求串行执行
- Swift网络请求(原生解析)与TableView
- TableView的刷新问题(2种方法
- XListView 刷新 + AsyncHttpClient网络请求
- HttpConnection网络请求,pullToRefreshListView刷新
- 守护进程
- ashx一般处理程序
- 数据驱动,如何提高产品转发率
- android 模拟器INSTALL_FAILED-NO_MATCHING_ABIS:Failed to extract native libraries,res=-113
- iOS应用上架App Store流程解析
- af网络请求里,刷新tableview,reloaddate方法执行两次
- [AHK]操控IE登录百度的示例
- 云时代的数字经营战略
- FFMPEG 日志 锁 内存技巧
- 由浅到深理解iOS的签名机制
- 百度地图获取定位信息与定点搜索
- 在.net中将URL转二维码再转二进制流图片
- java集合与框架
- 简单全连接神经网络--MNIST