おそらく、これを設定するためのより良い方法があるので、提案を受け付けています。
しかし、これが私がやっていることです。メインの UIView があります。その上に、UIImageView と別の UIView があります。UIImageView が変更されたら、2 番目の UIView を変更したいと考えています。そのためのクラスがあり、IB オブジェクトのタイプはそのクラスに設定されています。そのクラスの .m には、いくつかの長方形を描画する drawRect メソッドがあります。.m には、合成された NSMutableArray プロパティもあります。メイン ビューのコントローラーでそのクラスのインスタンスを作成しました。
問題: アプリの起動時に drawRect が正常に動作するという事実にもかかわらず (デバッガーでトレースされているように)、UIImageView が変更されたときに、@synthesize の配列を更新した後、2 番目のビューのインスタンス変数で「setNeedsDisplay」を呼び出しますが、 drawRect は呼び出されません。
インスタンスと関係があると思います。ここではスレッド化が問題になるとは思いません。表示されている画像に基づいて、画面の別の領域に描画したいだけです。