2015-08-21 67 views
0

我有一個有三個控制器的Watch應用程序。主控制器,另一個具有表格視圖,最後一個是設置控制器。在設置控制器中,我有一個開關。當它的值被改變時,該值被存儲到一個布爾變量。我想將這個變量的值發送給第一個控制器,這樣當我滑動回第一個控制器時,該值將被髮送到那裏。可能嗎?我怎樣才能做到這一點?WatchKit:將數據從第三個控制器傳遞到初始控制器

回答

0

是的,這是可能的。你必須使用contextForSegueWithIdentifier。您必須從此方法返回數據,並在您的目標類中訪問該數據,在您的情況下爲「第一個控制器」。

你可以這樣實現它:

// In settings controller 

override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? { 

    return self.currentValue 

// In first controller 
override func awakeWithContext(context: AnyObject?) { 
    super.awakeWithContext(context) 

    if let value: String = context as? String { 
     print(value) 

} 
+0

謝謝。我剛剛研究了這個問題,並且我瞭解到某人也有一個帶有segueIdentifier ==「控制器名稱」的if語句。我需要把它放在那裏嗎? – DZetko

+0

我認爲這將工作正常,沒有if語句。 –

+0

那麼它是如何認識到它應該將這些信息傳遞給第一個控制器,而不是第二個控制器,而第二個控制器(故事板文件中的第一個和第三個控制器之間)呢? – DZetko

相關問題