首页 > 解决方案 > 如何在 swift 中第一次查看 viewController

问题描述

在这个链接上运行指令框架

  1. 我正在检查此代码首次启动的应用程序:

    func isFirstTimeOpening() -> Bool {
        let defaults = UserDefaults.standard
    
        if(defaults.integer(forKey: "hasRun") == 0) {
            defaults.set(1, forKey: "hasRun")
            return true
        }
        return false
    
    }
    

    我正在调用它viewWillAppear

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
    
        if isFirstTimeOpening(){
            self.startInstructions()   //1
            self.coachMarksController.dataSource = self   //2
        }
    
    }
    

这是我的viewDidAppear功能

   override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        //if isFirstTimeOpening()  {
        self.coachMarksController.start(in: .window(over: self))
        coachMarksController.delegate = self
       // }
    }
  1. 我要检查评论 1 和 2 的第二件事是 First viewController is Loading collectionView 是第一次查看。这是因为函数func isFirstTimeOpening() -> Bool只检查第一次启动的应用程序,而不是在第一次启动期间多次访问 viewController。我想限制这些self.startInstructions() self.coachMarksController.dataSource = self命​​令只在第一次查看时执行(viewController 有 collectionView)?怎么能这样做?

标签: iosswiftnsuserdefaultsuserdefaults

解决方案


推荐阅读