gpt4 book ai didi

swift - 如何快速理解设置为私有(private)的全局变量?

转载 作者:搜寻专家 更新时间:2023-11-01 07:14:31 25 4
gpt4 key购买 nike

我正在完成一本书中的核心数据练习,它开始创建一个辅助类,它是一个单例。我知道全局变量可以在类的范围之外创建,并且可以在整个项目中访问,但是我感到困惑的是,书中的示例创建了一个全局变量并将其设置为私有(private)。我假设通过将变量设置为私有(private),它只能由该特定类访问。这个私有(private)全局变量是在帮助程序类之外创建的,因此我假设项目中的所有类都可以访问它,因此不需要 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 中的私有(private)全局变量是一个全局变量,只能从声明它的文件中访问。

就在 Swift 中创建单例而言,您正在使用的书没有遵循当前的最佳实践(也许它有点过时了?)。

不需要私有(private)全局变量。你可以说:

class CDHelper: NSObject {
// MARK: - SHARED INSTANCE
static let shared = CDHelper()
}

关于swift - 如何快速理解设置为私有(private)的全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42939690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com