我对 Swift 和一般编码仍然很陌生,我正在尝试为用户创建某种选项来更改彩色主题。
但是我对如何访问 swift 文件中的 switch 语句(或如何封装它)以及如何访问 set 变量一无所知?
到目前为止,我让用户在设置视图控制器中选择一个主题,并且主题的名称保存在 UserDefaults 中的“主题”键中。
在名为 theme.swift 的文件中,我创建了一个 switch 语句来检查名称。显然,每种情况都可以设置我在 switch 语句上方声明的几个变量。
但是我收到“顶层不允许声明”的错误?
我怎样才能解决这个问题?我可以做些什么来让 switch 语句在每次呈现视图控制器时运行以检查正确的颜色,或者在选择新主题并设置变量后让它运行?我理解错误消息,但我不知道如何解决这个问题。
例如,到目前为止,这就是我设置 theme.swift 文件的方式:
import UIKit
var theme = UserDefaults.standard.string(forKey: "themes")
var background: UIColor?
var labelColor: UIColor?
var buttonColor: UIColor?
switch theme {
case "Red":
background = UIColor(named: "darkRed")
labelColor = UIColor(named: "labelRed")
buttonColor = UIColor(named: "buttonRed")
case "Blue":
background = UIColor(named: "darkBlue")
labelColor = UIColor(named: "labelBlue")
buttonColor = UIColor(named: "buttonBlue")
default:
return
}
那么如何访问这些变量呢?
除了顶级错误之外,我是否可以像通常那样访问变量,因为它们是全局变量?
例如。startButton.setTitleColor(buttonColor, for: .normal)
?