用户设置通知时间

用户设置通知时间,第1张

用户设置通知时间
////  ViewController.swift//  Combining Date and Time////  Created by Leonardo Savio Dabus on 08/12/2014.//  Copyright (c) 2014 inDabusiness.com. All rights reserved.//import UIKitclass ViewController: UIViewController {    // IBOutlet goes here    @IBOutlet var myDatePicker: UIDatePicker!    @IBOutlet var mySwitch: UISwitch!    // let = whatever goes here    // var = whatever goes here    var localNotification = UILocalNotification()   // You just need one    var notificationsCounter = 0    // put your functions now    func datePicker() { myDatePicker.datePickerMode = UIDatePickerMode.Date }    func datePickerDefaultDate() { myDatePicker.date = NSDate().xDays(+1)   }    func notificationsOptions()  {        localNotification.timeZone = NSTimeZone.localTimeZone()        localNotification.repeatInterval = .CalendarUnitDay        UIApplication.sharedApplication().scheduleLocalNotification(localNotification)        localNotification.alertAction = "Open App"        localNotification.alertBody = "Here is the seven o'clock notification"        localNotification.soundName = UILocalNotificationDefaultSoundName        localNotification.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1        //     you may add arbitrary key-value pairs to this dictionary.        //     However, the keys and values must be valid property-list types        //     if any are not, an exception is raised.        // localNotification.userInfo = [NSObject : AnyObject]?    }    func toggleSwitch(){        if mySwitch.on{ localNotification.fireDate = myDatePicker.date.fireDate  // combined date = picked Date + 7:00am time        } else { localNotification.fireDate = NSDate(timeIntervalSinceNow: 999999999999)   // will never be fired        }    }    override func viewDidLoad() {        super.viewDidLoad()        datePicker()        datePickerDefaultDate()        notificationsOptions()        // Do any additional setup after loading the view, typically from a nib.    }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }    // here is where you place your IBActions    @IBAction func switchPressed(sender: AnyObject) {        toggleSwitch()    }}

在您的项目中创建一个新的Swift Source文件以放置扩展

import Foundationpublic extension NSDate {    func xDays(x:Int) -> NSDate {        return NSCalendar.currentCalendar().dateByAddingUnit(.CalendarUnitDay, value: x, toDate: self, options: nil)!    }    var day: Int { return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitDay,fromDate: self).day}    var month:          Int { return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitMonth,         fromDate: self).month         }    var year:Int { return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitYear,          fromDate: self).year          }    var fireDate: NSDate    { return NSCalendar.currentCalendar().dateWithEra(1, year: year, month: month, day: day, hour: 7, minute: 0, second: 0, nanosecond: 0)! }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5662484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存