私は相互通信が必要ないくつかの関連するクラスのインスタンス(オブジェクト)を含むView Controllerを持っています。スウィフトでのオブジェクト間の親子通信
私は簡単にVC内のオブジェクトのインスタンスを作成することによって、これらを設定することができます。
var house = House()
var road = Road()
var town = Town()
しかし、どのように、私は「話す」に/ロードオブジェクトにデータを送信するハウスオブジェクトのメソッドを得るのですか?私は親オブジェクトを呼び出すと、そのように他のクラスとそのメソッドをターゲット可能性がいくつかの言語では:
func sendHouseData (num: Int) {
_parent.road.getHouseData (num)
}
明らか_parentキーワードはそれほど機能しません迅速なコードではありません。
私が考えることができる唯一の方法は、ハウスオブジェクト内の道路のインスタンスを子オブジェクトとして作成し、それをメソッドコードのスコープ内に直接公開することです。 VCに多くの外部コードを持たせることは、すべての重労働を行うことは悪い習慣であり、控えめな考えです。
アイデア?
多くのありがとうございます。 Kw
はタウンクラスの親クラスですか? – marosoaie
通常、関連オブジェクトに必要に応じて参照が保持されます。だから、家はその道への参照を保持し、道路はその町への参照を持っています。次に、あなたは 'self.myRoad.someFunction()'のようなものを言うでしょう。 – Paulw11
@marosoaie彼らはクラス階層ではなく、単に関連するクラスだと思います。 – Paulw11