0
只是希望證實,有沒有辦法一氣呵成刪除多個KVOs和我有另外發出刪除多個KVOs一氣呵成
[self removeObserver:self forKeyPath:@"name"];
每個觀察關鍵路徑(即使觀察者自)。我瀏覽了文檔,因此沒有找到任何東西。
只是希望證實,有沒有辦法一氣呵成刪除多個KVOs和我有另外發出刪除多個KVOs一氣呵成
[self removeObserver:self forKeyPath:@"name"];
每個觀察關鍵路徑(即使觀察者自)。我瀏覽了文檔,因此沒有找到任何東西。
沒錯。沒有「內建」方法來刪除多個關鍵路徑的多個觀察者。
但是你可以使用類別來創建自己的方法,這樣做你想要什麼:
@interface NSObject (ExtendedKeyValueObserving)
- (void)removeObserver:(NSObject *)observer forKeyPaths:(NSArray *)keyPaths;
@end
@implementation NSObject (ExtendedKeyValueObserving)
- (void)removeObserver:(NSObject *)observer forKeyPaths:(NSArray *)keyPaths {
for (NSString *keyPath in keyPaths)
[self removeObserver:observer forKeyPath:keyPath];
}
感謝確認JDS。我可能會對你的建議進行變更。 – psmythirl