2016-11-03 5 views
1

次のviewControllerにデータを渡すのは簡単で、prepareSegueメソッドを使用して行うことができます。しかし、Swiftの以前のviewController(Cocoaアプリケーション)にデータを渡す方法を理解できませんSwiftの以前のViewController(Cocoaアプリケーション)にデータを渡す方法

私はviewControllerBのテキストフィールドを持っていて、何かを入力してボタンを押すと、私はそれをラベルをviewControllerAにして、新しいウィンドウでviewControllerAを開くのではなく、viewController Bを破棄し、渡されたデータをviewControllerAに表示させたいだけです。

これだけです。私は過去48時間それに固執しています。これについての助けに感謝します。

ありがとう!

+0

プロトコル/デリゲートで試しましたか? –

+0

seque unwindも使えます –

答えて

2

デリゲートを使用してこれを行います。例:

protocol NextProtocol: class { 
    func sendBack(value: Int) 
} 

class Previous: NextProtocol { 
    func sendBack(value: Int) { 
     print("I have received \(value)) 
    } 

    func prepareSegue(...) { 
     // get next instance 
     var next: Next 
     next.delegate = self 
    } 
} 

class Next { 
    weak var delegate: NextProtocol? 

    func someMethod() { 
     delegate?.sendBack(5) 
    } 
} 
+0

なぜ、firstViewControllerクラスで 'prepareSegue' funcを使用しているのですか? –

+0

@ O.Naeem同じようにデータを渡すと、データを受け取る相手が転送されます。あなたがデータをそこに転送すると言ったので、私はprepareSegueを述べました。 – Sealos

+0

素晴らしいおかげで!素晴らしい作品! –

関連する問題