1
我正在格式化正在传入的时间。我收到此错误,并试图弄清楚发生了什么在这里。我正在使用Xcode(v。8)的最新版本,并且正在使用Swift 3进行编程。这个错误意味着什么以及如何解决它?无法将类型'String'的值转换为期望的参数类型'TimeInterval'(又名'Double')
我在与问题相关的部分代码中拼接,因此它不是信息的重载。
var date: String {
if _date == nil {
_date = ""
}
return _date
}
init(weatherDict: Dictionary<String, AnyObject>){
if let temp = weatherDict["temp"] as? Dictionary<String, AnyObject>
{
if let min = temp["min"] as? Double{
self._lowTemp = ktof(kelvins: min)
}
if let max = temp["max"] as? Double{
self._highTemp = ktof(kelvins: max)
}
}
let unixConvertedDate = Date(timeIntervalSince1970: date)
if let date = weatherDict["dt"] as? Double {
let unixConvertedDate = Date(timeIntervalSince1970: date)
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .full
//dateFormatter.dateFormat = "EEEE"
dateFormatter.dateStyle = .none
self._date = unixConvertedDate.dayoftheWeek()
}
}
然后外面的类,其中所有上面的代码里面,我有这个。
extension Date {
func dayoftheWeek() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE"
return dateFormatter.string(from: self)
}
}
删除多余的线'让unixConvertedDate =日期(timeIntervalSince1970:日期)'。你不需要两个'如果let'块之间的那个。 – rmaddy
他也可以从init –
中完全删除日期格式化程序为什么不简单'var date =“”' –