很难在swift中实现一个简单的单例
发布时间:2020-12-14 02:25:23 所属栏目:百科 来源:网络整理
导读:我创建了一个新文件 – swift文件.叫Globals. Swift 然后在那里我做了: class Globals { static let sharedInstance = Globals() init() { var max=100 }} 在另一个类(UIViewcontroller)中我想使用它, Globals.sharedInstance //is going ok 很好,但是当我
我创建了一个新文件 – >
swift文件.叫Globals.
Swift
然后在那里我做了: class Globals { static let sharedInstance = Globals() init() { var max=100 } } 在另一个类(UIViewcontroller)中我想使用它, Globals.sharedInstance //is going ok 很好,但是当我深入.max时,我得到了错误.
你不能只在init中使用var = xxx.该变量必须在类顶级声明.
使用单身人士的例子: class Globals { static let sharedInstance = Globals() var max: Int private init() { self.max = 100 } } let singleton = Globals.sharedInstance print(singleton.max) // 100 singleton.max = 42 print(singleton.max) // 42 当您需要在另一个类中使用单例时,您只需在另一个类中执行此操作: let otherReferenceToTheSameSingleton = Globals.sharedInstance 按照Martin R和Caleb的评论更新:我已将初始化程序设为私有.在其他Swift文件中,它会阻止Globals()的初始化,通过只能使用Globals.sharedInstance强制此类表现为单例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |