【发布时间】:2017-12-07 18:08:53
【问题描述】:
现在,我正在尝试使用 Git 中的一个名为 Insomnia 的类来防止设备在充电时锁定。如果您好奇,project 就在这里。对于示例代码,它让我这样做:
final class AppDelegate: UIResponder, UIApplicationDelegate {
private let insomnia = Insomnia(mode: .whenCharging)
//app delegate code
}
如您所见,它让您将AppDelegate 声明为final,这样insomnia 变量就不会被释放,这会阻止它工作。但是,我不确定,将我的AppDelegate 声明为final 是不是这种不好的做法?或者这会导致我的应用出现问题吗?如果这是不好的做法,是否有更好的方法来确保 insomnia 不会被释放?
【问题讨论】:
-
那么是不是不需要声明为
final呢? -
查看项目,它从未声称使用
final是为了防止insomnia变量被释放。这似乎是你自己的结论,对吗? -
这不是坏习惯……只是有点毫无意义。您只能让一个实例处于活动状态,并且它在您的应用程序的整个生命周期中都处于活动状态。
标签: ios swift appdelegate