だから私はココアでMVCアプリケーションを持っています。
いくつかのカスタム ビュー、コントローラー、およびモデルがあります。もちろん、ビューはいくつかのことを知る必要があるため、コントローラーからデータを取得します。ただし、コントローラーではアクセサーを使用せず、モデルを直接呼び出すキーパスで KVC を使用します。
// In view.m
time = [timeSource valueForKeyPath:@"theModel.currentTime"];
// timeSource is a pseudo-delegate of the view that holds the controller
これにより、物事が大幅に簡素化され、技術的にも、ビューはまだモデルを直接 (つまり、ポインターで) 知りません。しかしもちろん、彼らは直接アクセスします。
それはKVCとMVCの通常の(または少なくとも賢明な)使用法ですか?
または、この種のコミュニケーションをどのように実装しますか?