IOS按需返回刷新数据

问题描述

相信大家都会遇到过这种情况:
进入下一页面,并且在下一页面执行某一动作,返回要刷新,没有执行某一动作,返回不刷新。也就是当前页面要实现按照需求刷新页面

实现思路

在当前页面定义个Bool类型属性 isNeedRefresh,在viewWillAppear中进行判断是否需要刷新。在第二页面中重写返回按钮。
通过 self.navigationController.viewControllers来获取上衣页面的ctl

实现代码

当前viewcontroller

@property (nonatomic, assign) BOOL isNeedRefresh;//是否需要刷新

- (void)viewWillAppear:(BOOL)animated{


    [super viewWillAppear:animated];
   
    if (self.isNeedRefresh) {
        
        NSLog(@"执行刷新了");
        
        [self loadData];
    }
   
}

下一页面

#pragma mark 重写返回按钮
- (void)LeftBtnClicked:(UIButton *)sender{
    
    [self.view endEditing:YES];
    [NSObject cancelPreviousPerformRequestsWithTarget:self];
   
    
    UIViewController *ctl = self.navigationController.viewControllers[self.navigationController.viewControllers.count - 2];
    
    if ([ctl isKindOfClass:[AddServiceViewController class]]) {
        
        AddServiceViewController * ctl2 = (AddServiceViewController*)ctl;
        
        ctl2.isNeedRefresh = YES;
        
        [self.navigationController popToViewController:ctl2 animated:YES];
        
    }else{
    
         [self.navigationController popViewControllerAnimated:YES];
    }
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,223评论 4 61
  • 黝黑地骏马,奔腾在大海的沙滩上。海水冲刷淹没了沙滩。骏马还在奔腾,奔腾着自己寻找的方向。远处大海的蓝色,早以与天空...
    署者名II阅读 3,199评论 0 0
  • 痴迷一样东西,于我而言,是很简单的事情,自从伟靖微信读书猛发朋友圈并向我推荐以来,我似乎也成了伪书迷。我得...
    卤蛋卤蛋卤蛋阅读 3,780评论 4 0
  • 昨晚,一位好友被我“骚扰”,我在被他问道:“你怎么了”时,很无厘头的回了一句:“你猜?”,我以为他会说:“别放弃治...
    乔霁阅读 3,590评论 3 3
  • 这个世界太浮躁了,大家都太心急,急于看见成果看见收获,却没有耐心把时间花在耕耘上,甘于寂寞,敢于寂寞,寂寞到默默无...
    静海雨珊阅读 1,651评论 0 0