我正在尝试创建一个闹钟,在预定义的时间到来时发送推送通知。我创建了一个继承自UILocalNotification的自定义警报类,但警报未显示。 代码:
class shabbosClockViewController: UIViewController
{
//variables****************************************************
var localNotification: UILocalNotification = UILocalNotification()
var alarmArray: [alarmObject] = defaults.arrayForKey("alarmArray") as [alarmObject]
override func viewDidLoad()
{
super.viewDidLoad()
var testAlarm = alarmObject(title: "test title", hour: 15, minutes: 36, day: 3)
UIApplication.sharedApplication().scheduleLocalNotification(testAlarm)
}
}
class alarmObject: UILocalNotification
{
var dateComponents: NSDateComponents = NSDateComponents()
init(title: String, hour: Int, minutes: Int, day: Int)
{
super.init()
var calander: NSCalendar = NSCalendar.currentCalendar()
calander.locale = NSLocale.currentLocale()
var dateFormatter = NSDateFormatter()
dateFormatter.timeStyle = .ShortStyle
dateFormatter.timeZone = NSTimeZone.localTimeZone()
dateComponents.hour = hour
dateComponents.minute = minutes
dateComponents.weekday = day
dateComponents.weekOfMonth = calander.weekOfMonthInDate(NSDate())
dateComponents.month = calander.monthsInDate(NSDate())
dateComponents.year = calander.yearsInDate(NSDate())
dateComponents.timeZone = NSTimeZone.localTimeZone()
self.fireDate = calander.dateFromComponents(dateComponents)!
self.alertBody = title
println("\(self.fireDate) \n\(dateFormatter.stringFromDate(self.fireDate!))\n\(dateComponents.weekday) \n\(dateComponents.weekOfMonth)")
}
required init(coder aDecoder: NSCoder)
{
fatalError("init(coder:) has not been implemented")
}
}
该应用程序不会崩溃或打印任何错误,但通知不会在应该出现时弹出。 println()打印正确的日期和时间。