在可可,有沒有一個我可以註冊的通知,通知我,當一個新的一天開始時 - 早上00時00分01秒?當新的一天開始時,我可以收到通知嗎?
回答
沒有我知道的通知。你可以得到一個定時器火每當新的一天開始,像這樣:
[[NSTimer alloc] initWithFireDate:midnight
interval:60 * 60 * 24 //one day, in seconds
target:someObj
selector:@selector(someSelector)
userInfo:nil
repeats:YES];
竅門就是一個NSDate
設置爲午夜。請查看Date and Time Programming Guide瞭解如何使用日期組件等。
編輯:見this問題如何獲得午夜NSDate
。
如果是iPhone開發,還可以聽UIApplicationSignificantTimeChangeNotification。它會在比午夜抵達更多的場合發佈,但是當您收到時,您可以簡單地檢查您是否在午夜或接近午夜。
對於Mac OS X,您需要完成Tom Dalling的建議,但您也應該自己跟蹤changes to the system clock(以更新計時器)以及changes to the current time zone。
從iOS8開始,您還可以直接收聽NSCalendarDayChangedNotification。
謝謝!這在Mac OS X上也是可用的,從10.9開始(Mavericks)。比創建NSTimer要好得多。 – robotspacer 2015-10-10 00:58:08
正如其他人所說,在iOS 8中,您可以使用NSCalendarDayChangedNotification。在如何做到這一點,這post給你更多的信息。
本質NSCalendarDayChangedNotification需要你去你的appDelegate文件並插入應用程序下面的代碼(改編自指南斯威夫特3):
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.dayChangedOperations(notif:)), name:NSNotification.Name.NSCalendarDayChanged, object:nil)
其中「視圖控制器」是我的一個類的類名和「dayChangedOperations」是我想在每天更改時運行的函數的名稱。
天計數自上次更改
注意,你從這個得到的是這一天改變了警報。你沒有得到自應用程序上次運行以來的天數。所以請記住,每次運行此函數時都要將日期保存到userDefault,以便稍後使用它進行比較。
- 1. grpc客戶端斷開連接時可以收到通知嗎?
- 2. 服務開始時會收到通知
- 3. 當我打開我的頁面時收到通知錯誤
- 4. 當UITextField或UITextView開始編輯時收到通知
- 5. 收到通知時更新當前UI
- 6. 如何在Android中通知開始當前活動時收到通知
- 7. 當我的Chrome擴展程序正在更新/卸載時,有什麼方法可以收到通知嗎?
- 8. 用戶在牆上寫信時可以收到通知嗎?
- 9. Rails&Youtube:當特定頻道上傳新視頻時,我可以收到通知嗎?
- 10. 我想設置一個通知,當我收到通知時它應該響鈴
- 11. IOS - 當用戶收到文本時可能收到通知?
- 12. 當我收到推送通知時,如何重新加載tableview?
- 13. 物品完成重新粉刷後,我可以收到通知嗎?
- 14. 開始一個新的Meteor.js項目,我可以使用它嗎?
- 15. 當popover消失時,我可以發出通知嗎(iPad)
- 16. 當數據庫更新時,我可以在Yii視圖中獲得通知嗎?
- 17. 當我顯示UIAlertView時可以收到消息嗎
- 18. 當一個新的通知到達時,我的AlertDialoge被關閉
- 19. 當我打開推送通知時無法刷新我的webview
- 20. 我可以在android中收集應用程序通知嗎?
- 21. 當我的應用被系統關閉時,我的應用可以接收通知嗎?
- 22. 當通過推送通知更新LiveTile時,我可以下載新的背景圖像嗎?
- 23. 當GPS(或位置服務)開始/停止時接收通知(通過BroadcastReceiver)
- 24. 當互聯網連接或斷開連接時收到通知
- 25. 活動仍然打開,當收到通知推送時雙打
- 26. iOS - 當藍牙設備斷開連接時收到通知
- 27. 當我的應用程序收到通知時打開屏幕背光
- 28. 在狀態欄中展開我的自定義通知時收到通知
- 29. 創建新帳戶時收到通知
+1我從來沒有聽說過此通知。謝謝! – 2010-05-30 15:33:58
謝謝你們的答案。看來,我只能接受他們中的一個,還沒有投票給他們。不幸的是,這是爲Mac OS X - UIApplicationSignificantTimeChangeNotification將正是我正在尋找.. – 2010-05-30 19:23:26