Iphone NSKeyValueObservingOptionNew和NSKeyValueObservingOptionOld之间有什么区别?
什么是旧属性值?它意味着作为对象:更改:上下文:的参数的字典包含一个键-值对,它告诉您观察到的属性的旧值。当观察到的键路径更改其值时,会通知观察者。“change”字典包含与观察到的密钥路径如何更改相关的信息。此字典仅根据设置时提供的选项填充值Iphone NSKeyValueObservingOptionNew和NSKeyValueObservingOptionOld之间有什么区别?,iphone,key-value-observing,Iphone,Key Value Observing,什么是旧属性值?它意味着作为对象:更改:上下文:的参数的字典包含一个键-值对,它告诉您观察到的属性的旧值。当观察到的键路径更改其值时,会通知观察者。“change”字典包含与观察到的密钥路径如何更改相关的信息。此字典仅根据设置时提供的选项填充值 NSKeyValueObservingOptionNew-指定您希望访问密钥路径更改为的新值 NSKeyValueObservingOptionOld-指定您希望访问密钥路径所更改的旧值 如果指定发送这些旧值和/或新值,则可使用以下键从更改字典访问:
-指定您希望访问密钥路径更改为的新值李>NSKeyValueObservingOptionNew
-指定您希望访问密钥路径所更改的旧值NSKeyValueObservingOptionOld
更改
字典访问:
-访问新值NSKeyValueChangeNewKey
-访问旧的/以前的值NSKeyValueChangeOldKey
NSKeyValueObservingOptionOld
Indicates that the change dictionary should contain the old attribute value, if applicable.
并通过以下方式获取值:
[self addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
CGSize newSize = [[change objectForKey:@"new"] CGSizeValue];
CGSize oldSize = [[change objectForKey:@"old"] CGSizeValue];