Я изо всех сил пытался сделать обратный отсчет в Свифте, где он показывает только дни, оставшиеся до какой -то даты, где входной вход является дата. У меня нулевой опыт работы с Swift, поэтому я некоторое время боролся. Я попробовал здесь несколько подобных ответов, но они не работали. Я смотрел учебник, но это нормальный обратный отсчет с месяцами, днями, минутами и секундами. Это код: < /p>
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var timeLabel: UILabel!
let formatter = DateFormatter()
let userCleander = Calendar.current;
let requestedComponent : Set = [
Calendar.Component.month,
Calendar.Component.day
]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timePrinter), userInfo: nil, repeats: true)
timer.fire()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func timeCalculator(dateFormat: String, endTime: String, startTime: Date = Date()) -> DateComponents {
formatter.dateFormat = dateFormat
let _startTime = startTime
let _endTime = formatter.date(from: endTime)
let timeDifference = userCleander.dateComponents(requestedComponent, from: _startTime, to: _endTime!)
return timeDifference
}
func timePrinter() -> Void {
let time = timeCalculator(dateFormat: "MM/dd/yyyy a", endTime: "12/25/2018 a")
timeLabel.text = "\(time.month!) Months \(time.day!) Days"
}
}
Подробнее здесь: https://stackoverflow.com/questions/491 ... ate-picker