如果开启了开关,则每隔x秒发送一次文字转语音。开关位于第一个视图控制器上,语音发生在第二个视图控制器的segue之后。
第一个视图控制器中的代码:
@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()}
答案 0 :(得分:0)
在您的情况下,通知中心没用。因为在为该通知添加观察者之前调用post方法。因此,通知概念不会在那里工作。
而不是这样,只需设置一个 Bool 就像" isSwitchSelected"。并将该值传递给下一个vc,检查该值是否为yes,然后调用 func talk 方法。