gpt4 book ai didi

swift - 在 Playground 中共享变量

转载 作者:行者123 更新时间:2023-11-30 11:39:15 28 4
gpt4 key购买 nike

我有一个公共(public)类,其变量在源文件中声明。我试图在( Playground 书)第 1 页中设置这些变量以在第 2 页中使用。目前我可以看到该类,但它不允许我访问变量,即使我将它们声明为公共(public)变量也是如此。

Data.swift

 public class GlobalVars {
public var progress = Float()
public var didComplete = Bool()

}

Contents.swift

GlobalVar().progress = 1

我也尝试过这个

Data.swift

 public class GlobalVars {
public var progress:Float?
public var didComplete;Bool?

public init() progress:Float? = nil, didComplete:Bool? = nil {
self.progress = progress
self.didComplete = didComplete
}

}

它们是可选的,所以我可以单独设置每个,但是当我设置一个时,其他所有内容都会设置为零。如果我在设置后尝试获取一个值,我仍然会得到 nil。

最佳答案

使用单例模式以便能够访问共享变量。这是适用于您的情况的代码。将 GlobalClass 类添加到源

     import Foundation
// GlobalVars.swift has to be in source files
public class GlobalVars {
public var progress:Float = 0.0
public var didComplete:Bool = true
public static let sharedInstance = GlobalVars()
private init() {}
}

在您的页面中,您可以像这样使用它。

import UIKit

GlobalVars.sharedInstance.progress = 1
GlobalVars.sharedInstance.didComplete = false
print(GlobalVars.sharedInstance.progress)
print(GlobalVars.sharedInstance.didComplete)

我刚刚测试过这个并且它有效

关于swift - 在 Playground 中共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49425456/

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