【问题标题】:Getting the current day of the week in Swift [duplicate]在 Swift 中获取当前日期 [重复]
【发布时间】:2015-03-04 17:35:27
【问题描述】:

我正在尝试获取一周中的当前日期,以便根据当天的日期更改图像。我的当前代码出现错误:“条件绑定中的绑定值必须是可选类型。”我对 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
    }
}

【问题讨论】:

标签: ios swift


【解决方案1】:

您的错误消息是由于在该行中

if let todayDate = NSDate()

if let ... 在 swift 中有特殊的含义。编译器尝试将可选变量绑定到常量。由于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
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-19
    • 2016-12-23
    • 1970-01-01
    • 2017-04-28
    • 2020-05-30
    • 2017-12-05
    • 2020-12-23
    • 2023-02-08
    相关资源
    最近更新 更多