CoreRefresh
CoreRefresh copied to clipboard
CoreHeaderView状态设置问题
-(void)setState:(CoreHeaderViewRefreshState)state 设置状态是时候,如果不匹配switch里的状态变换,将导致后续状态无法正确执行。 建议修改:状态变换匹配后,再更新新状态值。如下: switch (state) {
case CoreHeaderViewRefreshStateNorMal://非刷新中状态->普通状态
if(oldState!=CoreHeaderViewRefreshStateRefreshing) {
//记录
_state=state;
[self stateNorMal];
}
break;
case CoreHeaderViewRefreshStateReleaseForRefreshing://普通状态->松手立即刷新
if(oldState==CoreHeaderViewRefreshStateNorMal){
//记录
_state=state;
[self stateReleaseForRefreshing];
}
break;
case CoreHeaderViewRefreshStateRefreshing://松手立即刷新->刷新中,特别的在业务中直接从普通状态->刷新中
if(oldState==CoreHeaderViewRefreshStateReleaseForRefreshing || oldState==CoreHeaderViewRefreshStateNorMal) {
//记录
_state=state;
[self stateRefreshing];
}
break;
case CoreHeaderViewRefreshStateRefreshingFailed://刷新中->刷新失败
if(oldState==CoreHeaderViewRefreshStateRefreshing){
//记录
_state=state;
[self stateRefreshingFailed];
}
break;
case CoreHeaderViewRefreshStateSuccessedResultNoMoreData://刷新中->刷新成功,无更多数据
if(oldState==CoreHeaderViewRefreshStateRefreshing){
//记录
_state=state;
[self stateSuccessedResultNoMoreData];
}
break;
case CoreHeaderViewRefreshStateSuccessedResultDataShowing://刷新中->刷新成功,数据展示中
if(oldState==CoreHeaderViewRefreshStateRefreshing) {
//记录
_state=state;
[self stateSuccessedResultDataShowing];
}
break;
default:
break;
}
建议非常好,我的bug解决了,谢谢