私は、View Controller Bをポップオーバーとして表示するView Controller Aを持っています。私がしようとしているのは、ビューコントローラAに設定されているビューコントローラBに設定されている値を取得することです。他のView Controllerでパラメータを設定してクロージャを設定する
私が考えているのは、パラメータを受け取り、 Bはそれをパラメータと呼んでいます。
ので、VC Aで、私が持っている:
func update(val:String) {
}
その後、私はVC Bを作成するときに、私が試した:
bVC.notifier = update
をしかし、私はエラーを取得しています:
Cannot assign value of type '(String, String) ->()' to type '() -> {}'
次に、ビューコントローラB:
public var notifier = {}
私はそれをどのように呼び出すのかは分かりません。
私は以下を読んでいます:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html#//apple_ref/doc/uid/TP40014097-CH11-ID94しかし、この状況を非常にうまくカバーしていないと思います。
*備考:※[この答え]をチェックし、このような機能を実現するための他のメカニズムをチェックすることもできます(https://stackoverflow.com/questions/40501780/examples-of-delegates-in-swift -3/40503024#40503024)(代替品) –