ユーザーがさまざまな位置に短い文字列を入力できる「キャンバス」ビューがあります。エントリまたは編集に NSTextField を使用しますが、編集されていないときは、テキストはビューの draw メソッドで描画されます。
現在、入力または編集が必要な場合は常に新しい NSTextField を作成し、保持しないため、サブビューとして削除されると、おそらく割り当てが解除されます。
これは問題なく動作し、タイピングはプロセッサよりも遅く、明らかな遅延はありません。
最近、プログラムの別の部分から「編集の終了」メソッドに移動する必要があることがわかりました。そのため、送信者は必ずしも NStextField ではありません。この目的で使用されるテキスト フィールドのプロパティを追加し、特定の編集タスクが終了したときに nil に設定しました。これはまだうまくいくようです。
原則として、常に新しいものを作成するのではなく、単に単一の NSTextField を保持し、スーパービューに追加または削除する方が望ましいでしょうか?
後で追加: 単一の NSTextField を使用して、必要に応じてスーパービューに出し入れすることにしました。これは私には「よりクリーン」に思えますが、賛否両論の意見にまだ興味があります。