如果打开开关,则每隔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()}
发布于 2016-01-22 04:52:54
在你的例子中,通知中心是无用的。因为在为通知添加观察者之前调用post方法。所以通知的概念在那里行不通。
而不是这样,只需设置一个Bool,比如"isSwitchSelected“。并将该值传递给下一个vc,检查该值是否为“是”,然后调用func talk方法。
https://stackoverflow.com/questions/34938622
复制相似问题