Swift 返回内部';如果让';还有

Swift 返回内部';如果让';还有,swift,Swift,我有以下功能。我理解,如果dateValue为零,我也应该提供一个报税表。但是编译器不允许返回nil。我的想法是什么 func dateFromIsoString(dateString: String) -> NSDate { var dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyyMMdd" let dateValue: NSDate? = dateFormatter.date

我有以下功能。我理解,如果dateValue为零,我也应该提供一个报税表。但是编译器不允许返回nil。我的想法是什么

func dateFromIsoString(dateString: String) -> NSDate {

    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyyMMdd"

    let dateValue: NSDate? = dateFormatter.dateFromString(dateString)

    if let dateValue = dateValue {
        return dateValue
    }else{
        //return what?
    }
}

您不允许返回
nil
,因为您没有返回可选的-因此将返回类型更改为
NSDate?

因为,如果
dateFromString
无论如何都无法解析它返回的字符串
nil
,那么就不需要麻烦使用
if-let
语句。相反,你可以写:

return dateFormatter.dateFromString(dateString)

您不允许返回
nil
,因为您没有返回可选的-因此将返回类型更改为
NSDate?

因为,如果
dateFromString
无论如何都无法解析它返回的字符串
nil
,那么就不需要麻烦使用
if-let
语句。相反,你可以写:

return dateFormatter.dateFromString(dateString)

... 可以简化为
returndatevalue
而不需要任何if/let:)当然,我也正要写:)。。。可以简化为
returndatevalue
而不需要任何if/let:)当然,我也正要写:)