NSKeyValueObservingOptionOld
Indicates that the change dictionary should contain the old attribute value, if applicable.
旧属性值是什么意思?
答案 0 :(得分:12)
当观察到的关键路径改变其值时,将通知观察者。 'change`字典包含与观察到的密钥路径如何变化有关的信息。此字典仅根据您在设置
时提供的选项填充值NSKeyValueObservingOptionNew
- 指定您希望有权访问密钥路径更改为的新值。 NSKeyValueObservingOptionOld
- 指定您希望有权访问密钥路径更改的旧值。如果指定要发送,可以使用以下密钥从change
字典访问这些旧值和/或新值:
NSKeyValueChangeNewKey
- 访问新值。NSKeyValueChangeOldKey
- 访问旧/以前的值。答案 1 :(得分:2)
您可以执行以下操作:
[self addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
并通过以下方式获取值:
CGSize newSize = [[change objectForKey:@"new"] CGSizeValue];
CGSize oldSize = [[change objectForKey:@"old"] CGSizeValue];
答案 2 :(得分:1)
这意味着作为observeValueForKeyPath:ofObject:change:context:
参数的字典包含一个键值对,它告诉您观察到的属性的旧值。