2017-04-13 41 views
1

首先我想说,我一直在寻找我的问题的答案相当多,但到目前为止我发现的唯一的东西是老版本的Swift的答案或答案不具体回答我的问题。Xcode中的多个通知,Swift 3

背景信息:
我想开发一个应用程序,可以提醒你在一个设定的时间间隔。现在这个工作,因为你只设置了1个提醒。但是,如果我将间隔设置为20秒,则启动应用程序,设置2个通知并关闭应用程序,仅在20秒内显示第二个通知。第一个通知被第二个通知覆盖。

问题:我怎样才能确保我所有的通知,用户请求的,实际上会发送,并且没有通知覆盖前一个?

为通知

代码:

let tijd = 20 //20 is just for the test, normally there is more code to it 

    // Notification 
    let content = UNMutableNotificationContent() 
    content.title = "Notification title"//title 
    content.body = "Notification body" //body 
    content.badge = 1 
    content.sound = UNNotificationSound.default() 

    // Timer 
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(tijd), repeats: false) 
    let request = UNNotificationRequest(identifier: "timerDone", content: content, trigger: trigger) 

    UNUserNotificationCenter.current().add(request, withCompletionHandler: nil) 

此代码被存储在一个UITableView细胞。 My storyboard

+0

你是如何设置两个通知?显示该代码。在提供的代码中,只有一个通知被添加到中心。 –

+0

哦,对,那么我认为这可能是问题所在。我现在拥有的是:我点击一个单元格,第二个VC使用为每个单元格提供的代码出现。我应该改变这一切吗?如果是这样,什么? @RajanMaheshwari –

回答

0

好吧我想通了!
https://stackoverflow.com/a/41892828/7385440
这个答案导致我有同样的问题。我必须使每个通知的标识符不同!所以我现在的代码是:

let request = UNNotificationRequest(identifier: bezigheid, content: content, trigger: trigger) 

bezigheid是在每个单元格中不同的东西。测试它,现在我得到2个不同的通知!