Pu sh Уведомления в Swift - PullRequest
       1

Pu sh Уведомления в Swift

0 голосов
/ 20 января 2020

Я хочу сделать уведомления pu sh, но этот код не делает то, что мне нужно. Уведомления также создаются вместо content.body всегда один и тот же текст, который является последним элементом в массиве foodsForNotifications. Как я могу это исправить?

    func scheduleLocal() {
    let center = UNUserNotificationCenter.current()

    center.removeAllPendingNotificationRequests()
    let content = UNMutableNotificationContent()

    for foods in foodForNotifications { // array for content.body
        content.body = foods
    }

    content.title = "AXAXAXAXAXAX"
    content.categoryIdentifier = "alarm"
    content.sound = UNNotificationSound.default

    for date in datesArr {  // array for date


        var dateComponents = DateComponents()

        let calendar = Calendar.current
        let dateInfo = calendar.dateComponents([.hour, .minute, .second], from: date)
        dateComponents.year = dateInfo.year
        dateComponents.month = dateInfo.month
        dateComponents.day = dateInfo.day
        dateComponents.hour = dateInfo.hour
        dateComponents.minute = dateInfo.minute
        let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)

        let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)

        center.add(request)
    }
}

1 Ответ

0 голосов
/ 20 января 2020
for foods in foodForNotifications { // array for content.body
    content.body = foods
}

Вы продолжаете сбрасывать значение, конечное значение для каждого уведомления будет последним элементом в списке.

Возможно, вам следует использовать счетчик или что-то в этой части, чтобы получить одно уникальное значение из вашего массива для каждого уведомления.

var index = 0
for date in datesArr {  
     content.body = foodForNotifications[index]
     index = index + 1
}

Это, вероятно, не лучший способ для go об этом, это будет зависеть от того, что находится в массивах и какова ваша цель, но это должно дать вам хорошее представление о том, в чем проблема.

...