Swift Singleton可以成为具有纯类函数的类
发布时间:2020-12-14 04:55:07 所属栏目:百科 来源:网络整理
导读:这感觉就像讨论在几个 Swift迭代之前停止了,但我很好奇,在讨论中,从未建议(或者如果我从未看过它)单例可能只是一个具有纯类函数的类,例如 – class MySingleton { private static var someVar: String? private static var someOtherVar: SomeType? class fu
这感觉就像讨论在几个
Swift迭代之前停止了,但我很好奇,在讨论中,从未建议(或者如果我从未看过它)单例可能只是一个具有纯类函数的类,例如 –
class MySingleton { private static var someVar: String? private static var someOtherVar: SomeType? class func start() { // etc... } class func doSomething() { // etc... } // etc,etc... } 我们不应该这样做有什么好的理由吗?我什么都想不到. 解决方法
你想达到什么目的?
根据我的经验,你的方法很好,如果 >您不想创建类的实例 另一种方法是拥有sharedInstance class MySingleton { private(set) static var sharedInstance = MySingleton() private var someVar: String? private var someOtherVar: SomeType? func start() { // etc... } func doSomething() { // etc... } // etc,etc... } 这为您提供了更大的灵活性 >如果要使用共享实例,可以调用MySingleton.sharedInstance.start(). 所以它真的取决于你想要达到的目标.如果你想确定,没有人可以使用自己的vars创建另一个实例,那么你的方法比我的选择更安全. 在这种情况下,您甚至可能要考虑使类成为final,因此没有人可以创建行为不同的子类. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容