[英]What is the difference between NSKeyValueObservingOptionNew and NSKeyValueObservingOptionOld?
NSKeyValueObservingOptionOld
Indicates that the change dictionary should contain the old attribute value, if applicable.
舊屬性值是什么意思?
當觀察到的關鍵路徑改變它的值時,觀察者會收到通知。 'change' 字典包含與觀察到的鍵路徑如何更改相關的信息。 該字典僅根據您在設置時提供的選項填充值
NSKeyValueObservingOptionNew
- 指定您希望訪問密鑰路徑更改為的新值。NSKeyValueObservingOptionOld
- 指定您想要訪問更改密鑰路徑的舊值。 如果指定要發送這些舊值和/或新值,則可以使用這些鍵從change
字典中訪問:
NSKeyValueChangeNewKey
- 訪問新值。NSKeyValueChangeOldKey
- 訪問舊的/以前的值。您可以執行以下操作:
[self addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
並通過以下方式獲取值:
CGSize newSize = [[change objectForKey:@"new"] CGSizeValue];
CGSize oldSize = [[change objectForKey:@"old"] CGSizeValue];
這意味着作為observeValueForKeyPath:ofObject:change:context:
參數的字典包含一個鍵值對,它告訴您觀察到的屬性的舊值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.