无法实现向我的警报应用发送通知

时间:2018-06-23 12:03:02

标签: ios swift notifications alarm

我创建了一个类似于ios警报应用程序的警报应用程序,并且单元格和tableview也类似于它。单元格具有2种标签和开关按钮,因此当我打开按钮时,警报会在单元格的标签时间被激活。

有一个triggerAlarm()函数,它跟踪时间并循环通过items类型的[Item]()数组(Item是类型{{1 }}保存数据,它有2个属性NSManagedObjecttime: String)。

问题是isOn: Bool中的Timer方法未在viewDidLoad()函数中通过该循环运行,但显示了triggerAlarm()。该循环应该将realTime与items数组进行比较,并在realTime属性为true但却没有发生的情况下调用notificationTrigger()函数。

Xcode也没有显示任何错误。

这是代码:

isOn

1 个答案:

答案 0 :(得分:0)

@objc func triggerAlarm() {
    realTime = DateFormatter.localizedString(from: Date(), dateStyle: .none, timeStyle: .short)
    print(realTime)
    for i in 0..<items.count {
        if (items[i].time!) == realTime && items[i].isOn == true{
            print(time)
            self.notificationTrigger()
        }else {
            return
        }
    }
}

这里您在其他地方使用return。 因此,它不是从当前iterartion的循环中断开(我想您要实现此目标),而是从整个方法调用中返回。而是使用:-

  

继续

或者最好省略else部分

 @objc func triggerAlarm() {
    realTime = DateFormatter.localizedString(from: Date(), dateStyle: .none, timeStyle: .short)
    print(realTime)
    for i in 0..<items.count {
        if (items[i].time!) == realTime && items[i].isOn == true{
            print(time)
            self.notificationTrigger()
        }
    }
}