用UILocalNotification實現一個鬧鐘(Swift),uilocalnotification

來源:互聯網
上載者:User

用UILocalNotification實現一個鬧鐘(Swift),uilocalnotification

之前項目需求要實現一個鬧鐘,github上找了半天發現都是很舊的代碼了,所以就準備自己寫一個,剛好最近在學習Swift,就用Swift寫了一個demo放在這裡:https://github.com/Phelthas/Demo_AlarmClock   效果         總結一下,備忘 介面的話一個DatePicker加7個UIButton就搞定了,稍微有點問題的是如何表示哪幾天選中了,哪幾天沒選中。這裡可以用數組實現,也可以用集合,但最簡單的是用一個16進位數來表示(也是github上看來的,原來自己用數組寫了一大坨。。。)即用0x111 1111 來表示全部選中,用0x000 0000 來表示全部沒選中,每一個1表示選中一天。然後就可以移位元運算符來運算button的selected,來表示這個button有沒有被選中 鬧鐘的話還是用UILocalNotification來實現。需要注意的是,UILocalNotification的重複間隔只能是蘋果定義的一些值( NSCalendarUnit),且間隔不能太小(秒不管用),且每個app能設定的UILocalNotification個數有上限(貌似是128個)所以這裡一個通知只能讓鬧鐘每周X的同一個時間響,如果要一個鬧鐘周一周二都響,就要定義2個UILocalNotification,如果7天都要響,就要7個通知。。。目前還真不知道有什麼其他的辦法,如果有知道的同學,望不吝賜教 確定周幾響的時候,需要根據NSCalendar來計算,用dateComponents的方式,這裡需要注意的是蘋果定義的周日的weekday是1(即認為周日是一周第一天),而我們一般習慣把周一作為每周的第一天,所以計算的時候需要轉換一下,轉換方法見demo 添加通知的時候,要給通知設定userInfo,將通知的identifier設定進去,作為通知的唯一標示符,否則無法取消;這裡我是將通知的時間的時間戳記作為一個字串來作為這個通知的identifier 

 

 

計劃2016年每個月至少寫一篇部落格的,結果第一篇就拖到月底了。。。以後爭取早一點!

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.