首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在swift中将AppDelegate类声明为'final‘是不是一种糟糕的做法?

在swift中将AppDelegate类声明为'final‘是不是一种糟糕的做法?
EN

Stack Overflow用户
提问于 2017-12-08 02:08:53
回答 1查看 277关注 0票数 3

现在,我正在尝试使用Git中一个名为Insomnia的类来防止设备在充电时锁定。The The The

项目

如果你好奇的话。对于示例代码,它让我这样做:

代码语言:javascript
复制
final class AppDelegate: UIResponder, UIApplicationDelegate {
      private let insomnia = Insomnia(mode: .whenCharging)
      //app delegate code
 }

如您所见,它让您声明

作为

这样,

变量没有被释放,这会阻止它工作。然而,我不确定,这是不是很糟糕的做法,声明我的

作为

什么?或者这会导致我的应用程序出现问题?如果这是一种糟糕的做法,有没有更好的方法来确保

不是被解除分配的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-08 02:28:40

你说:

如您所见,它让您声明

作为

这样,

变量未释放...

不是这样的

确实如此。它只是说类不能被子类化(这在应用程序委托的情况下不太可能是相关的)。The The The

keyword还允许一些优化(如果您的代码调用这些方法中的任何一个,它可以使用静态分派而不是动态分派),这些优化在这种情况下不太可能产生任何可观察到的效果。

底线是,您不必使用

在这种情况下。

“最佳实践”应该是使用

在您需要的地方,即在哪些地方类确实不能或不应该被子类化,或者在哪些地方您确实需要静态分派提供的性能差异。

在回答你的问题,这是否是一个可以接受的地方声明

,是的(但不是

需要)。The The The

并不是在应用程序运行时发布的,它通常是我们放置“应用程序生命周期”相关代码的地方。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47701222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档