Comments (8)
从方法名可以看出:这是cell和数据处理问题,跟刷新框架没有关系的哈
from mjrefresh.
我看了一下,貌似是跟tabview冲突,您可以试一下在您的demo里单纯删除数据试一下
发送自魅族手机
-------- 原始邮件 --------
发件人:M了个J [email protected]
时间:周六 2月28日 11:57
收件人:CoderMJLee/MJRefresh [email protected]
抄送:boboGoodMan [email protected]
主题:Re: [MJRefresh] 下拉刷新删除全部数据的话崩溃 (#40)
从方法名可以看出:这是cell和数据处理问题,跟刷新框架没有关系的哈
Reply to this email directly or view it on GitHub:
#40 (comment)
from mjrefresh.
你删除完数据后,要进行reloadData或者reloadRows,这是tableView的正确用法哈。跟刷新框架没关系的
from mjrefresh.
[self.fakeData removeAllObjects];
// [self.tableView reloadData];
// [self.tableView headerEndRefreshing];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
for (int i = 0; i<5; i++) {
[self.fakeData insertObject:MJRandomData atIndex:0];
}
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
[self.tableView headerEndRefreshing];
});
});
我这样写的话是会出问题的
from mjrefresh.
嗯,那也是数据处理的问题。你就算不用刷新框架,也还是有问题的。你的异步操作时间太短,导致插入数据和刷新表格的先后顺序不稳定。我先忙点东西哈,有问题等会一起讨论,你先留言哈。
from mjrefresh.
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[self.fakeData removeAllObjects];
for (int i = 0; i<5; i++) {
[self.fakeData insertObject:MJRandomData atIndex:0];
}
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
[self.tableView headerEndRefreshing];
});
});
这样写的话就没有问题,如果我在工程里去重新获取数据,并且网速非常好的话,这样异步操作时间肯定也短,难道需要延时操作?
from mjrefresh.
你的思路很正确,不用延迟的。其实一般的步骤就是去子线程拿数据,拿完数据就去主线程刷新。拿数据的话一般用的是异步请求框架,不用自己写gcd的dispatch_asyc代码
from mjrefresh.
3q,我貌似已经理通了,是我写的本身跟tabview的重用机制冲突了。
from mjrefresh.
Related Issues (20)
- 22
- iphone14 pro灵动岛,MJRefresh闪退 HOT 4
- 上拉加载 HOT 1
- 刷新控件都是居中。可以居左、居右或者调整刷新控件的frame吗? HOT 2
- 我需要下拉 60px 松手刷新, 超过 100px 松手执行其他功能,请问使用 MJRefresh 可以实现吗? HOT 1
- Tableview空数据时调用reloadData(),footer会向上偏移 HOT 2
- present出一个模态控制器(非fullScreen),控制器中的tableView下拉刷新总是触发系统的dismiss
- 我这里有两个功能实现,详见内容
- 特殊操作下,header 位置下移,且无法恢复
- 下拉刷新与上拉加载互斥 怎么做
- SwiftUI KVO Crash
- WKWebView 使用 AutoLayout 初次加载显示不全
- tableview 上拉加载,pagingEnabled= YES,结束刷新后cell向下便宜了上拉时的距离 HOT 1
- 自定义UICollectionViewLayout实现头部固定后,下拉刷新出现奇怪动画效果 HOT 2
- Too many arguments to function call, expected 0, have 3 HOT 1
- 3.7.6 无法更新 HOT 1
- UICollectionView 设置sectionHeadersPinToVisibleBounds=true(悬浮header)时bug
- MJRefresh和 JXCategoryView 结合出现bug HOT 1
- scrollToRowAtIndexPath 导致Footer漏出来了 HOT 1
- MJRefreshHeader 下拉刷新结束后 我在scrollViewDidScroll获取tableview.contentoffset.y最后变成了-54而不是0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mjrefresh.