Dav*_*e G 0 lifecycle ios swift
我需要每次应用程序打开时运行代码,包括它是否只是暂停(用户点击主页按钮,然后返回到应用程序).
我已经知道viewDidLoad只加载初始VC加载,因此不能满足我的需要.并且viewWillAppear/viewDidAppear也不这样做.这个SO线程有一个答案,但它来自六年前,我不喜欢这个答案.从本质上讲,它创造了一个观察者.然而,这似乎浪费了资源,观察者创建了那些将事物保存在内存中的引用循环.
如果没有人给我一个更好的解决方案,我可以在AppDelegate中尝试"applicationDidBecomeActive",但我尽量不用ViewController代码加载我的appDelegate.
我的问题是,自从这个SO线程被回答后的六年中,Swift/iOS10现在是否允许更清洁的解决方案?
小智 5
如果您不想使用NSNotificationCenter ,请在AppDelegate中创建Viewcontroller的全局对象
并使用viewController对象将代码放入applicationDidBecomeActive中
因为applicationDidBecomeActive在您启动应用程序时以及当您按下主页按钮并从后台调用时调用everyTime,因此您无需在viewWillAppear中编写代码.
| 归档时间: |
|
| 查看次数: |
481 次 |
| 最近记录: |