ios – swift中静态函数和单例类之间的区别

我想创建一个类,其中将保留所有实用程序方法,并且这些方法将在整个应用程序中使用.
问题:1
创建一个单例类并保留所有必要的方法或者我应该创建一个所有函数都是静态的类是不错的.
问题:2
swift上面两种方法的主要区别是什么?
问题:3
它将如何影响iOS的性能?

解决方法

当然这听起来很混乱,可以辩论.但是,从最佳实践中我可以提出一些建议.

Singleton通常用于创建资源密集型和一个计时器初始化,例如:数据库连接器,登录处理程序等.

实用程序类是只具有静态函数和变量的类.它不应该处理异步任务和昂贵的资源处理,如打开数据库连接器.

在您的情况下,如果实用程序正在执行一些资源密集型过程,则最好将其包装为单例.如果没有,那么我认为类中的静态函数更好.这也是因为,Swift将使用静态调度在类中调度所有静态函数.虽然Swift喜欢优化,但在Singleton中这不可能是真的.

就使用Objective-C运行时而言,Static Dispatch比Dynamic Dispatch快4倍.对于斯威夫特来说也是如此.但是,动态调度只需4纳秒.

我希望这能让你清楚.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...