我试图获取当周的当前日期,以便根据它的日期更改图像.我的当前代码出错:"条件绑定中的绑定值必须是可选类型." 我对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)
您的错误消息是由于行中的事实
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)