【发布时间】:2019-04-21 14:00:43
【问题描述】:
我想将差异数据分成 60 并将其打印为双数。当我将其打印为字符串时,它似乎不是数字的一小部分。当我打印数字 "n" 时,我遇到了这个问题。我该怎么办?
我的错误:编译器无法在合理的时间内对该表达式进行类型检查;尝试将表达式分解为不同的子表达式
if let date = formatter.date(from: receivedTimeString) {
let receivedTimeHoursMinutes = Calendar.current.component(.hour, from: date) * 60
let receivedTimeMinutes = Calendar.current.component(.minute, from: date)
let totalreceivedTimeMinutes = receivedTimeHoursMinutes + receivedTimeMinutes
let todayHoursMinutes = Calendar.current.component(.hour, from: Date()) * 60
let todayMinutes = Calendar.current.component(.minute, from: Date())
let todayTimeMinutes = todayHoursMinutes + todayMinutes
let difference = todayTimeMinutes - totalreceivedTimeMinutes
let str = String(difference)
switch true {
case difference > 60:
let deger = String(difference / 60)
guard let n = NumberFormatter().number(from: deger) else { return }
print("deger", deger)
self.labelTimerFarkSonuc.text = (n) + (" ") + ("Saattir") + (" ") + (durum)
case difference == 0:
self.labelTimerFarkSonuc.text = (n) + (" ") + ("Dakikadır") + (" ") + (durum)
case difference < 60:
self.labelTimerFarkSonuc.text = (n) + (" ") + ("Dakikadır") + (" ") + (durum)
default:
self.labelTimerFarkSonuc.text = (n) + (" ") + ("Dakikadır") + (" ") + (durum)
}
【问题讨论】:
-
您不需要
(n) + (" ") + ("Dakikadır") + (" ") + (durum)中的任何括号。他们只是增加了视觉噪音。字符串插值看起来也更好(在这种情况下):"\(n) Dakikadır \(durum)"
标签: swift