2015-05-09 21 views
0

如何在日期選取器中的特定小時內完成某件事情?迅捷日期選取日期

我只是在學習斯威夫特我會很感激任何方向。謝謝!

我可以抓住用戶點擊按鈕時選擇的時間,但當我們到達那個時間並且該應用程序處於活動狀態時,如何使事情發生?

(我不是在尋找localNotifications,我想事情發生時APP處於激活狀態)

我把這個裏面ViewController.swift>類ViewControler:UIViewController的:

let now = NSDate() 

    @IBAction func button(sender: AnyObject) { 
     // grab the selected date from the date picker 
     let wakeUpTime = datePicker.date 
    } 
+1

這太寬泛了。你必須更具體。除了別的以外,您可以使用「NSTimer」,「UILocalNotification」或遠程通知來「發生某些事情」。 –

+0

您必須爲您的問題使用通知模式http://www.raywenderlich.com/46988/ios-design-patterns – 2015-05-09 11:29:04

+0

@Leo:抱歉,我是新人,我不知道從哪裏開始。我想在now = wakeUpTime時有一個提醒。第一步是什麼? – Nrc

回答

1

如果你想要的東西在應用程序處於活動狀態時發生,請執行以下操作:

  1. 從選取器中抓取用戶選擇的日期。將其保存爲用戶 默認值。

  2. 從現在開始計算的秒數,直到用戶指定的日期 :

    let seconds = userDate.timeIntervalSinceReferenceDate() - 
        NSDate().timeIntervalSinceReferenceDate() 
    
  3. 創建一個一次性的定時器,許多秒火災。

完成。

如果您希望應用程序在用戶將應用程序切換到背景然後再切換回來時正常工作,請在到達背景的路上殺死定時器。

當您啓動或返回前臺時,請閱讀保存的日期,然後重複上述操作。 (查看保存的日期是否已過。)

+0

聽起來不錯,謝謝!我正在朝着這個方向努力。有一個小錯字錯誤,我認爲它應該是︰timeIntervalSinceReferenceDate – Nrc

+0

是的,我的確在我的答案中有一個錯字。 –