我正在完成一本书中的核心数据练习,它首先创建一个单例的帮助器类。我知道全局变量可以在类的范围之外创建,并且可以在整个项目中访问,但是令我困惑的是,书中的一个示例创建了一个全局变量并将其设置为私有。我假设通过将变量设置为私有,它只能由该特定类访问。这个私有全局变量是在辅助类之外创建的,因此我假设项目中的所有类都可以访问它,因此不需要 private 关键字。任何人都可以帮助确认我的假设是正确还是不正确,因为我真的很想理解。
这是本书示例中的代码:
import Foundation
import CoreData
//this is a global variable accessible from any module or class
private let _sharedCDHelper = CDHelper()
class CDHelper: NSObject {
// MARK: - SHARED INSTANCE
class var shared: CDHelper {
return _sharedCDHelper
}
}
Swift 中的私有全局变量是一个全局变量,只能从声明它的文件中访问。
您使用的这本书没有遵循当前在 Swift 中创建单例的最佳实践(也许它有点过时了?)。
不需要私有全局变量。你可以直接说:
class CDHelper: NSObject {
// MARK: - SHARED INSTANCE
static let shared = CDHelper()
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)