私は迅速な開発で新しいです。解決すべき状況を理解するのを助けてください。Swift 3のグローバルクラスからUIViewControllerのコンポーネントを更新するには?
グローバルクラスからUIViewControllerを更新したいとします。グローバルクラスでコールバック関数を使用したので、集中管理が必要です。
class Global {
static let global = Global()
static func listener(msg:String) {
if(topView = viewA)
I want to update label of viewA
else
I want to update label of viewB
}
}
//This class is current view controller
class viewA:UIViewController {
* has label
* has button
}
class viewB:UIViewController {
* has label2
* has button
}
次のソリューションを使用しますが、それは誤りに
if(topView = viewA)
topView.label = msg; <- Error! Value of type UIVIEW has no member
else
topView.label2 = msg; <- Error! Value of type UIVIEW has no member
通知センターを使用して通知を送信できます。変更を加えたいすべてのクラスにオブザーバーを追加する必要があります。 – Priyal
はい@Priyalが正しいです。ここでNotifiactionCenterとObserverを使うことができます。 –