ios开发(switf) tabbar页面切换时刷新的方法

ios开发(switf) tabbar页面切换时刷新的方法,第1张

因为tabbar页面切换是不走

override func viewDidLoad()

只有你第一次切换的时候会走这个,之后再切换回你tabbar里面的这个页面的时候是不会走这个方法的。

所以你需要重写viewWillAppear!
举个例子,重写的写法:

你原本只有这个viewDidLoad

(ps.里面的内容不重要,只是我当时的具体代码,接收数据的代码。你要tabbar切换刷新无非就是为了再次刷新数据吧?)

override func viewDidLoad() {
        super.viewDidLoad()
        
        self.tableView.rowHeight = 80
     
        let request = NSFetchRequest<NSFetchRequestResult>(entityName: "You")
                
        do {   
            let result = try managedObjectContext.fetch(request)
                    allScore = result as! [You]
        } catch {
                    print("取出失败")
        }
        
        if(allScore.isEmpty){
            let item: You
            item = NSEntityDescription.insertNewObject(forEntityName: "You", into: managedObjectContext) as! You
            item.totalScore = 0
            print("是空的,要再加一下")
        }

        //获取总分的方法
        fetchYou()
        //获取事项item的方法
        fetchAllRewars()
    }

我需要在这个代码的页面的上面写一个

 override func viewWillAppear(_ animated: Bool) {

        let request = NSFetchRequest<NSFetchRequestResult>(entityName: "You")
                  
          do {    
              let result = try managedObjectContext.fetch(request)
                      allScore = result as! [You]
          } catch {
                      print("取出失败")
          }

          if(allScore.isEmpty){
              let item: You
              item = NSEntityDescription.insertNewObject(forEntityName: "You", into: managedObjectContext) as! You
              item.totalScore = 75
          }
    	  //获取总分的方法
          fetchYou()
    }

然后每次切换tabbar里面的东西的时候就可以刷新了!!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/994374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存