今日私はSwift 3言語に切り替えました。私は、イベントまでの時間の分と秒のカウントダウンを提供するアプリを作っています。以下のコードは、私のアプリに以下を表示します:swiftへのNSDateトランジションを使ったカウントダウン3
オプション(6)日オプション(59)分オプション(35)秒。
スウィフト2のカウントダウンはうまくいきましたが、スウィフト3に変換した後はオプションの数字が表示されました。 Swift 3での経験を持つ人は、この問題の解決策を知っていますか?
@IBAction func NextWeeklyButtonPressed(_ sender: AnyObject) {
let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(printTimeWeeks), userInfo: nil, repeats: true)
timer.fire()
}
func printTimeWeeks() {
formatter.dateFormat = "MM/dd/yy hh:mm:ss a"
let startTime = Date()
let endTime = formatter.date(from: WeeklyDate.text!+" 12:00:00 a")
// WeeklyDate.text is a date in short style
let timeDifference = (userCalendar as NSCalendar).components(requestedComponent, from: startTime, to: endTime!, options: [])
WeeklyDateLabel.text = "\(timeDifference.day) Days \(timeDifference.minute) Minutes \(timeDifference.second) Seconds"
}
つまり、 'timeDifference.day'はオプションです。 Swift 3のDateComponentsリファレンスを検索しましたか? –