AVSpeechSynthsesizer по таймеру

Если переключатель включен, произнесение текста в слово происходит каждые x секунд. Переключатель находится на первом контроллере представления, и речь происходит после перехода ко второму контроллеру представления.

Код в первом представлении контроллера:

@IBAction func speakwords(sender: AnyObject) {
        NSNotificationCenter.defaultCenter().postNotificationName("speaknotif", object: speakwords)

Код во втором представлении контроллера:

verride func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("talk:"), name: "speaknotif", object: self.view.window)


func talk(notification: NSNotification){guard let count = notification.object else {return}
        if Bool(TYPE_BOOL as! NSO) = "true"{

        let speechsynth = AVSpeechSynthesizer()}

1 ответ

В вашем случае Центр уведомлений был бесполезен. Потому что вы вызываете метод post перед добавлением наблюдателя для этого уведомления. Таким образом, концепция уведомлений не будет работать там.

Вместо этого просто установите один Bool как "isSwitchSelected". И передайте это значение следующему vc, проверьте, является ли оно значением yes, затем вызовите func talk метод.

Другие вопросы по тегам