ユーザが選択した時間が勤務時間外であるかどうかを確認する必要があります。 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