Может быть, вы могли бы просто поиграть с вашим методом timeClock()
, чтобы это было в первой строке:
let timerDisplayed = self.timerDisplayed > 0 ? timerDisplayed : Int(timeSelect[0])!
Так что это может выглядеть так:
@objc func timeClock(){
let timerDisplayed = self.timerDisplayed > 0 ? timerDisplayed : Int(timeSelect[0])!
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound]) { (didAllow, error) in }
let content = UNMutableNotificationContent()
content.title = "Time is up!"
content.badge = 1
content.sound = UNNotificationSound.init(named: UNNotificationSoundName(rawValue: "note1.wav"))
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(timerDisplayed), repeats: false)
let request = UNNotificationRequest(identifier: "timerDone", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
self.timerTextField.text = (" \(String(self.timerDisplayed))")
dismissKeyboard()
DispatchQueue.main.async {
self.timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.Action), userInfo: nil, repeats: true)
}
}
Или вы можете просто указать это в viewDidLoad
, чтобы автоматически выбрать первую строку:
let defaultFirstRow = pickerView.selectedRow(inComponent: 0);
pickerView(pickerView, didSelectRow: defaultFirstRow, inComponent:0)