在Swift中获取当周的当前日期

Yan*_*nir 4 ios swift

我试图获取当周的当前日期,以便根据它的日期更改图像.我的当前代码出错:"条件绑定中的绑定值必须是可选类型." 我对swift和ios很新,所以我不太清楚要改变什么.

   func getDayOfWeek()->Int? {
    if let todayDate = NSDate() {
        let myCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)
        let myComponents = myCalendar?.components(.WeekdayCalendarUnit, fromDate: todayDate)
        let weekDay = myComponents?.weekday
        return weekDay
    } else {
        return nil
    }
}
Run Code Online (Sandbox Code Playgroud)

tra*_*tor 7

您的错误消息是由于行中的事实

if let todayDate = NSDate()

if let ...在迅速特殊的意义.编译器尝试将可选变量绑定到常量.由于NSDate()不返回可选值,因此这是一个错误.

离开if它应该工作:

func getDayOfWeek()->Int? {
   let todayDate = NSDate()
   let myCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)   
   let myComponents = myCalendar?.components(.WeekdayCalendarUnit, fromDate: todayDate)
   let weekDay = myComponents?.weekday
   return weekDay
 }
Run Code Online (Sandbox Code Playgroud)