ios - 如何在 swift 中第一次查看 viewController
问题描述
我正在检查此代码首次启动的应用程序:
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 和 2 的第二件事是 First viewController is Loading collectionView 是第一次查看。这是因为函数
func isFirstTimeOpening() -> Bool
只检查第一次启动的应用程序,而不是在第一次启动期间多次访问 viewController。我想限制这些self.startInstructions()
self.coachMarksController.dataSource = self
命令只在第一次查看时执行(viewController 有 collectionView)?怎么能这样做?
解决方案
推荐阅读
- javascript - 使用 JQuery 按类删除重复元素
- javascript - React 获取组件的高度
- html - 如何让绝对定位的元素在父 div 之外可见
- selenium - 无法在 chrome 浏览器的设置弹出窗口中找到 Web 元素
- json - 如何在 Google 表格中写入我的 Firebase 数据?
- django - 更新在 django orm 中不起作用,我的代码有问题吗?
- c++ - std::forward() 的右值引用重载的目的是什么?
- javascript - 如何使用 AJAX 请求将数据从 Javascript 发送到 Python Flask 应用程序?
- ios - 如何使 UIFont 符合可解码
- r - 从数据框创建闪亮的仪表板侧边栏菜单