如何声明一个全局变量?

How to declare a global variable?

这是一个非常简单的问题,我正在使用代码片段获取星期几

 if let weekday = getDayOfWeek("2017-05-01") {
        print(weekday)
    } else {
        print("bad input")
    }


func getDayOfWeek(_ today:String) -> Int? {
    let formatter  = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd"
    guard let todayDate = formatter.date(from: today) else { return nil }
    let myCalendar = Calendar(identifier: .gregorian)
    let weekDay = myCalendar.component(.weekday, from: todayDate)
    return weekDay
}

我需要创建 "weekday" 作为全局变量,任何人都可以提供帮助。

我做的是:

class ViewController: UIViewController{
var weekday = NSInteger()
}

如上声明时我在代码片段中遇到了一些错误。

currentWeekDay 类型声明为 Int

var weekday = Int()

现在使用 if let.

访问此实例 属性
if let weekday = getDayOfWeek("2017-05-01") {
    //weekday has block scope and available only with in this if block
    self.weekday = weekday
} else {
    print("bad input")
}

编辑:设置timezone以获得正确的工作日

func getDayOfWeek(_ today:String) -> Int? {
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd"
    formatter.timeZone = TimeZone(abbreviation: "UTC")!
    guard let todayDate = formatter.date(from: today) else { return nil }
    let myCalendar = Calendar(identifier: .gregorian)
    let weekDay = myCalendar.component(.weekday, from: todayDate)
    return weekDay 
}