問題タブ [didset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
142 参照

swift - UIView のサブクラスが didSet を呼び出さない

BaseView という名前の UIView のサブクラスがあります。BaseView のサブクラスで、いくつかのコードで didSet を作成します。UIViewController では、BaseView のこのサブクラスを初期化しますが、彼は didSet を呼び出しません

BaseView コード:

BaseView コードのサブクラス:

UIViewController コード:

0 投票する
1 に答える
446 参照

arrays - 配列の任意のメンバーの任意のプロパティの変更を観察する

クラスのオブジェクトを格納する配列があります。

「apples」配列のメンバーのプロパティが変更されたときに関数を実行したいと考えています。この関数を呼び出すときは、プロパティが変更された配列の項目をパラメーターとして渡す必要があります。

on color プロパティを使おうと思ったのですdidSetが、その場合は otherApple のプロパティも変更されたときに関数が呼び出されます。これは私が望むものではありません。配列のメンバーのプロパティが変更されたときにのみ関数を実行したい。メンバーでない場合、関数は実行されません。

を使用しdidSet、いずれにせよ関数を実行し、関数の先頭でメンバーシップをチェックすることは考えられるかもしれませんが、これは良い方法ではないと感じています。

Swiftでこれを適切に達成するにはどうすればよいですか?

編集: Swift で Key-Value Observing を使用するための Apple のガイド