Спасибо за чаевые. Я просто нажал на галочку, однако, поскольку моя репутация все еще низка, upvote не показывает, но, очевидно, он все еще где-то записывается. Еще раз спасибо всем за помощь.

ольно новичок в swift и пытаюсь вызвать несколько функций, которые запрашивают локальное уведомление внутри UISwitch IBAction. Я хочу отправить уведомление в определенный день - каждый квартал года в месяцы 4, 7, 10, 1. Вызывается только функция четвертого квартала. Как я могу получить все четыре функции для вызова? Вот мой код:

// UISwitch для квартальных уведомлений

@IBAction func quarterlyFrequencyTapped(_ sender: UISwitch) {

if quarterlyFrequency.isOn == true {

    firstQuarter(); secondQuarter(); thirdQuarter(); fourthQuarter()

    print("quarterly frequency is \(quarterlyFrequency.isOn)")

} else {

    removeQuarterlyNotification()

    print("quaterly frequency is \(monthlyFrequency.isOn)")

       }

}

// Функции для всех четырех кварталов

func firstQuarter() {
    let firstQuarterContent = UNMutableNotificationContent()
    firstQuarterContent.title = "First Quarter"
    firstQuarterContent.subtitle = "Some string"
    firstQuarterContent.body = "Some other string"

    var firstQuarterDate = DateComponents()
    firstQuarterDate.month = 3
    firstQuarterDate.day = 11
    firstQuarterDate.hour = 19
    firstQuarterDate.minute = 20

    let firstQuarterTrigger = UNCalendarNotificationTrigger(dateMatching: firstQuarterDate, repeats: true)
    let firstQuarterRequestIdentifier = "Quarterly"
    let firstQuarterRequest = UNNotificationRequest(identifier: firstQuarterRequestIdentifier, content: firstQuarterContent, trigger: firstQuarterTrigger)
    UNUserNotificationCenter.current().add(firstQuarterRequest, withCompletionHandler: nil)
}

func secondQuarter() {
    let secondQuarterContent = UNMutableNotificationContent()
    secondQuarterContent.title = "Second Quarter"
    secondQuarterContent.subtitle = "Some string"
    secondQuarterContent.body = "Some other string"

    var secondQuarterDate = DateComponents()
    secondQuarterDate.month = 3
    secondQuarterDate.day = 11
    secondQuarterDate.hour = 19
    secondQuarterDate.minute = 21

    let secondQuarterTrigger = UNCalendarNotificationTrigger(dateMatching: secondQuarterDate, repeats: true)
    let secondQuarterRequestIdentifier = "Quarterly"
    let secondQuarterRequest = UNNotificationRequest(identifier: secondQuarterRequestIdentifier, content: secondQuarterContent, trigger: secondQuarterTrigger)
    UNUserNotificationCenter.current().add(secondQuarterRequest, withCompletionHandler: nil)
}

func thirdQuarter() {
    let thirdQuarterContent = UNMutableNotificationContent()
    thirdQuarterContent.title = "Third Quarter"
    thirdQuarterContent.subtitle = "Some string"
    thirdQuarterContent.body = "Some other string"

    var thirdQuarterDate = DateComponents()
    thirdQuarterDate.month = 3
    thirdQuarterDate.day = 11
    thirdQuarterDate.hour = 19
    thirdQuarterDate.minute = 22

    let thirdQuarterTrigger = UNCalendarNotificationTrigger(dateMatching: thirdQuarterDate, repeats: true)
    let thirdQuarterRequestIdentifier = "Quarterly"
    let thirdQuarterRequest = UNNotificationRequest(identifier: thirdQuarterRequestIdentifier, content: thirdQuarterContent, trigger: thirdQuarterTrigger)
    UNUserNotificationCenter.current().add(thirdQuarterRequest, withCompletionHandler: nil)
}

func fourthQuarter() {
    let fourthQuarterContent = UNMutableNotificationContent()
    fourthQuarterContent.title = "Fourth Quarter"
    fourthQuarterContent.subtitle = "Some string"
    fourthQuarterContent.body = "Some other string"

    var fourthQuarterDate = DateComponents()
    fourthQuarterDate.month = 3
    fourthQuarterDate.day = 11
    fourthQuarterDate.hour = 19
    fourthQuarterDate.minute = 23

    let fourthQuarterTrigger = UNCalendarNotificationTrigger(dateMatching: fourthQuarterDate, repeats: true)
    //let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 60, repeats: true)
    let fourthQuarterRequestIdentifier = "Quarterly"
    let fourthQuarterRequest = UNNotificationRequest(identifier: fourthQuarterRequestIdentifier, content: fourthQuarterContent, trigger: fourthQuarterTrigger)
    UNUserNotificationCenter.current().add(fourthQuarterRequest, withCompletionHandler: nil)
}

Ответы на вопрос(1)

Ваш ответ на вопрос