6

KVOとNSNotificationの違いがよくわからない気がします...似ているようです...どちらがいいのか、もう一方がいいのか、例を挙げていただけますか?

BindとIBについては話しませんが、NSNotificationCenterまたはKVOを使用してコードにプログラムでオブザーバーを追加することを意味します

[self.preferenceController addObserver:self 
                                    forKeyPath:@"color" 
                                       options:NSKeyValueObservingOptionOld 
                                       context:@"Color-change"
];
4

1 に答える 1

6

KVOは値に対してのみ機能し、NSNotificationは値の変更に使用できますが、あらゆるものに使用でき、はるかに大きなペイロードを運ぶことができます。

たとえば、ファイルのダウンロードが終了するたびにNSNotificationを投稿し、userInfoに、所要時間、ダウンロードされたバイト数、およびファイルが保存されたファイルシステムパスを含めることができます。

于 2011-07-15T17:43:14.747 に答える