Перед вычислением разницы получите hour
компонент start
и убедитесь, что он меньше 12. Если да, вычтите 30 минут, а затем выполните математические вычисления
@IBAction func checkOut(_ sender: Any) {
end = timeWheel.date
let calendar = Calendar.current
let startHour = calendar.component(.hour, from: start)
let startDate = startHour < 12 ? calendar.date(byAdding: .minute, value: 30, to: start)! : start
let difference = calendar.dateComponents([.hour, .minute], from: startDate, to: end)
workLabel.text = "\(difference.hour!) timer og \(difference.minute!) minutter"
}
Принудительное развертывание компонентов:отлично, так как оба компонента были четко запрошены.