swift controller 返回刷新

发布时间:2022-03-15 21:56:59

在项目管理系统开发中我们使用了两种刷新方式,可以分为两种情况

1.有tab的情况,导航发起的视频不是当天的视频 而是父视图,我们可以使用UserDefaults来标识


 	/*
     用于保存刷新
     */
    static func saveFresh(freshKey:String){
        UserDefaults.standard.set(true, forKey: freshKey)
    }
    
    static func getFresh(freshKey:String) -> Bool{
        let result=UserDefaults.standard.bool(forKey: freshKey)
        if(result){
            CacheHelper.removeByKey(key: CacheHelper.noticeKey)
        }
       return result
        
    }
    
    

首先在操作结束的时候,设置刷新标识

CacheHelper.saveFresh(freshKey: CacheHelper.requirementCreatekKey)

然后在重写override func viewWillAppear(_ animated: Bool) {

 if(CacheHelper.getFresh(freshKey: CacheHelper.freshKey)){
 	这里刷新数据
 }

2.没有tab的情况,可以在导航父页设置一个变量isRefresh,在返回的时候,并设置isRefresh为true

 let views:[UIViewController]=self.navigationController!.viewControllers;
        let count = views.count
        if count > 1 {
            let view = views[count-2];
            view.isRefresh=true
        }

Card image cap
APP STORE
Card image cap
应用宝
Card image cap
小米
Card image cap
华为