2014-11-09 1 views
-2

Делаю будильник, и когда время в UIDatePicker равно точное время, я хочу функцию для выполнения, поэтому я попытался это:Если оператор: 2 различные функции равняясь друг на друга - Swift

if theDatePicker == strDate { 
    playTheSound() 
} else { 
    println("HELLO") 
} 

Функция Я хочу, чтобы выполнить, когда UIDatePicker равно точное время

func playTheSound() { 
    var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Annoying_Alarm_Clock-UncleKornicob-420925725", ofType: "mp3")!) 
    playSound.text = "\(alertSound)" 

    var error:NSError? 
    audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error) 
    audioPlayer.prepareToPlay() 
    audioPlayer.play() 

    let alert = UIAlertController(title: "WAKE UP", message:nil, preferredStyle: UIAlertControllerStyle.Alert); 

    alert.message = "ITS TIME TO WAKE UP" 

    let dismissHandler = { 
     (action: UIAlertAction!) in 
     self.dismissViewControllerAnimated(true, completion: {() -> Void in 
     }) 
    } 

    alert.addAction(UIAlertAction(title: "I'm Up!", style: .Default, handler: dismissHandler)) 
    presentViewController(alert, animated: true) {() -> Void in 

    } 
} 

Получение точного времени

func getTime() { 
    var date = NSDate() 
    var outputFormat = NSDateFormatter() 
    outputFormat.locale = NSLocale(localeIdentifier:"en_US") 
    outputFormat.dateFormat = "HH:mm:ss" 
    timeLabel.text = (outputFormat.stringFromDate(date)) // This line here will update your timeLabel with the current time every second 
} 
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("getTime"), userInfo: nil, repeats: true) 

Мой UIDatePicker называется theDatePicker

func handler(sender: UIDatePicker) { 
    var timeFormatter = NSDateFormatter() 
    timeFormatter.timeStyle = NSDateFormatterStyle.ShortStyle 

    var strDate = timeFormatter.stringFromDate(theDatePicker.date) 
} 

Мой вопрос Когда UIDatePicker и точное время равны Я хочу playTheSound() для запуска.

Благодарю вас за время и терпение.

Cheers!

+5

В чем вопрос? –

+0

Когда UIDatePicker и точное время равны, я хочу, чтобы playTheSound() запускался. @TheParamagneticCroissant – alex

+0

Обновленный вопрос, пожалуйста, удалите «непонятно, что вы спрашиваете», если вы найдете подходящий – alex

ответ

1

вы можете использовать событие с таймированием или если вы также хотите, чтобы вызов выполнялся, когда приложение неактивно, вы можете использовать локальные уведомления. После выбора даты в расписании datepicker один из них.

Оба объясняются в этом переполнения стека пост: Schedule multiple, daily events with NSTimer?

0

Я очень рекомендую Local Notification; таким образом, вы сможете действовать, даже если ваше приложение не открыто.

По существу, вы звоните в систему, чтобы запланировать в определенное время (вы можете вытащить это из своего выбора даты). Когда происходит событие расписания - открыто или закрыто ваше приложение - система обращается к вашему приложению с помощью метода делегата. Затем вы можете действовать на мероприятие (т. Е. Воспроизводить звук).

Смежные вопросы