我對 swift 很陌生,發現這個很困難,所以它說它不能被決議為變數,因為它不是字串。
我搜索并找到了一些東西,但它與我的代碼型別無關,所以我懇請它:)
let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateFormat = "MMM dd,yyyy"
let date: NSDate? = dateFormatterGet.date(from: currentVechicle.LastCommunicationDate!) as NSDate?
print(dateFormatterPrint.string(from: date! as Date))
cell.perditsuarOutlet.text = date // Error: Cannot assign value of type 'NSDate?' to type 'String?'
uj5u.com熱心網友回復:
您正在列印正確的String值,但將date鍵入的變數分配NSDate?給text屬性,它應該是String.
嘗試這樣做:
let dateString = dateFormatterPrint.string(from: date! as Date)
cell.perditsuarOutlet.text = dateString
一條建議:不要在此處強制展開 ( date! as Date)。相反,包括一種處理nil“可選”NSDate?變數值的方法。一種方法如下所示:
if let date = dateFormatterGet.date(from: currentVechicle.LastCommunicationDate!) as NSDate? {
cell.perditsuarOutlet.text = dateFormatterPrint.string(from: date as Date)
} else {
cell.perditsuarOutlet.text = "Empty or invalid date"
}
我知道這看起來像很多開銷,但是避免崩潰是值得的......
uj5u.com熱心網友回復:
您的日期常數是 NSDate。
并且單元格文本屬性是一個字串。
您不能將兩者配對在一起,因為它們不是同一型別。
由于您無法更改單元格文本型別,因此您只有 1 個選項。您必須將 NSDate 轉換為字串。
我建議看看Paul Hudsons 100 Days of Swift。當我第一次開始時,這是一個很棒的資源。我提供的鏈接指向他在第 1 天關于弦樂的課程
保持良好的作業。我保證它會變得更好:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/420335.html
標籤:
