사용자가 선택한 시간이 근무 시간 외에 있는지 확인해야합니다. for in loop
및 switch
문을 사용하여이 결과를 얻으려고하고 있지만이를 구현하는 방법을 모르겠습니다. var components
이 timeRestricted
배열의 값과 일치하면 switch 문과 분리됩니다. 당신의 도움을 주셔서 감사합니다.값이 배열에 있는지 확인하십시오. - DatePicker Swift
class FourthViewController: UIViewController {
@IBOutlet weak var myDatePicker: UIDatePicker!
var currentTime = NSDate()
let timeRestricted = [00,01,02,03,04,05,06,19,20,21,22,23]
var dateComponents = NSDateComponents()
var dateFormatter:NSDateFormatter = NSDateFormatter()
@IBOutlet weak var someLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm"
// load current time as minimum date
self.myDatePicker.minimumDate = NSDate(timeInterval: 1, sinceDate: currentTime)
myDatePicker.addTarget(self, action: #selector(self.datePickerAction(_:)), forControlEvents: UIControlEvents.ValueChanged)
}
func datePickerAction(sender: UIDatePicker) {
var timeSelected = sender.date
var unitFlags: NSCalendarUnit = [.Hour]
var components = NSCalendar.currentCalendar().components(unitFlags, fromDate: timeSelected)
for components in timeRestricted {
switch components {
case timeRestricted[0...12]: print("update label")
default: print(" record input data and segue to next screen")
}
}
}
}
작동합니다. in 및 switch 문을 사용하여 동일한 기능을 구현한다면 어떻게 할 것입니까? 감사합니다 – bibscy
지금은 시간이 없어 나중에 내 대답을 업데이트 할 것입니다. – OOPer