-2
我想:找幾個變量的值,以及運行一些功能,其中住在對象A,所有從Object B.從不同的對象變量的值或運行功能 - 斯威夫特
我有現在嘗試幾個小時,以使其與代表和協議一起工作。沒有運氣。
我不能做這樣的事情:
var delegate: MyDelegate = ViewController()
因爲好像創建視圖控制器的新實例。我希望來自已經運行的實例的值。
我也不能這樣做:
var delegate: MyDelegate?
因爲視圖控制器對象從不響應。所以我沒有任何時間,我打電話給代理?.somefunction()
我不希望在屏幕之間的延續。我只需要從另一個對象開始一個函數。
我敢打賭,這是一個簡單的修復。我無法得到它。謝謝你的幫助。
我的一些代碼:
class PauseButtonView: NSView{
var delegate: PauseButtonDelegate?
...
var result = delegate?.startFunction()
}
protocol PauseButtonDelegate {
func startFunction() -> String
}
class ViewController: NSViewController, PauseButtonDelegate {
func startFunction() -> String {
let myString = "Hello World!"
return myString
}
}
爲了要啓動另一個對象的方法,您必須具有對該對象的引用。你的類如何獲取正在運行的視圖控制器對象? – dasblinkenlight
請向我們展示對象A和B的創建。除非需要強大的參考週期,否則您可能需要弱代表。 – Eendje