0

iVar の値が変化したときに通知を受け取りたいと思っていました。セッターを呼び出さずに文字列の値を変更するとしたら、同じクラスでどのように知ることができるでしょうか。KVO とセッターのオーバーライドは、セッターの呼び出しのみで動作するためです。iVar ではありません。

4

1 に答える 1

1

ivar の値を直接変更したときに自動的に通知される方法はありません。値が変更されたときに通知を受け取りたい場合は、ivar をプライベートにすることでクラスの外部で値を直接変更できないようにし、クラスの内部では、セッターまたはKVC コール ( setValue:forKey:)。

于 2013-11-05T09:46:49.640 に答える