//// 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)! }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)