Вызовите метод класса с аргументом из другого метода класса

В моем кодовом файлеMyItemVC.swift Я определил следующий класс и метод:

class MyItemVC: UIViewController, UITextViewDelegate {

var timer = NSTimer()

    func cycleTimer(toggleOn: Bool) {
        if toggleOn == true {
            // Timer calls the replaceItem method every 3 seconds
            timer = NSTimer.scheduledTimerWithTimeInterval(3, target: self, selector: Selector("replaceItem"), userInfo: nil, repeats: true)
        } else {
            timer.invalidate() // stop the timer
        }
    }
}

В других местах этого класса я вызываю cycleTimer (true), чтобы запустить таймер, и cycleTimer (false), чтобы остановить его.

Теперь я также хочу использовать обычные методы в моемAppDelegate.swift Файл кода для запуска и остановки таймера, когда приложение переходит из активного в неактивное состояние. Но у меня возникают проблемы с вызовом метода cycleTimer из этого класса.

Я нашел ответ о переполнении стека, который предложил мне назвать это так:

func applicationWillResignActive(application: UIApplication) {

    MyItemVC.cycleTimer()
}

Но мне также нужно передать аргумент. Поэтому я попытался назвать это так:

func applicationWillResignActive(application: UIApplication) {

    MyItemVC.cycleTimer(true)
}

Но я получил эту ошибку:

Невозможно вызвать 'cycleTimer' со списком аргументов типа '(Bool)'

Как я могу вызвать этот метод из методов AppDelegate при передаче аргумента?

Спасибо за помощь. Я понимаю, что это, должно быть, очень простой вопрос, но я новичок в программировании и пытаюсь научиться использовать Swift. Ответ с использованием Swift, а не Obj-C был бы очень признателен.

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

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