ios – 如何通过按swift按钮取消本地通知?

我正在安排一个基于位置的UIlocalnotification,点击一个按钮.但是,当我尝试通过再次单击相同的按钮取消本地通知时,它不会取消通知.
我正在使用UIApplication.sharedApplication().cancellocalnotification(localnotification)
取消预定位置的本地通知.
我究竟做错了什么 ?
这是我的实现
@IBAction func setNotification(sender: UIButton!) {
    if sender.tag == 999 {
        sender.setimage(UIImage(named: "NotificationFilled")!,forState: .normal)
        sender.tag = 0
        regionMonitor() //function where notification get scheduled

    } else {
        sender.setimage(UIImage(named: "Notification")!,forState: .normal)
        sender.tag = 999 }

我应该输入到其他块,以便计划的通知被取消.无法清除所有通知.
这里是didEnterRegion块代码,我触发本地通知

func locationManager(manager: CLLocationManager!,didEnterRegion region: CLRegion!) {
    localnotification.regionTriggersOnce = true
    localnotification.alertBody = "Stack Overflow is great"
    UIApplication.sharedApplication().schedulelocalnotification(localnotification)
    NSLog("Entering region")
}

解决方法

如果在您的上下文中可以接受,您可以尝试删除所有通知.
喜欢这个:
for notification in UIApplication.sharedApplication().scheduledlocalnotifications as! [UIlocalnotification] { 
  UIApplication.sharedApplication().cancellocalnotification(notification)
}

或者如Logan所说:

UIApplication.sharedApplication().cancelAlllocalnotifications()

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...