0

アプリのモデルの奥深くからUIのパネルに、毎秒2行または3行のオーダーで、適度な量のデバッグおよびログメッセージ(NSString)を表示したいと思います。これは主に開発中に必要になると思いますが、本番用に「コンソール」を残しておくこともできます。このアプリがどうなるか正確にはわからないので、クリーンなMVCパターンを維持しようとしています(これはサイドプロジェクトシミュレーションエンジンであり、商用ではありません)。

NSTextViewに行を追加することにより、NSWindowControllerサブクラスのビューにログメッセージを書き込むメソッドを実装しました。正常に動作します。ただし、明らかな理由から、モデル(メッセージのソース)にWindowControllerについて何も知られたくないのです。それで:

  • NSNotificationCenterAPIは適切なようです。しますか?私の代替案は、メッセージをチェーンの上位に渡す一連のログメカニズム(Model-> Document-> WindowController-> View)であり、これは厄介です。または、WCをモデルのログメソッドのデリゲートとして機能させる(WCを作成する)単純なプロトコルを採用します。)繰り返しになりますが、それは少しごちゃごちゃしているようです。KVOは、変更されているモデル状態プロパティではないため、これには適していません。私は何かを逃したことがありますか?

  • 毎秒複数の通知でNSNotificationCenterを非難することで、パフォーマンスが大幅に低下することを期待する必要がありますか?

編集:私は言うべきです、それは機能しますが、それは正しいですか?

ありがとう

4

1 に答える 1

0

1 秒あたり 2 回または 3 回の通知は、パフォーマンスへの影響はまったくありません。NSNotificationCenter を使用していると思われる場合は、それを使用してください。ただし、ロギング メカニズムの場合は不要かもしれません。NSLog への単純な呼び出しで十分ではないでしょうか。

于 2012-07-30T17:43:24.703 に答える