为什么AFURLRequestSerialization使用KVO来观察值的变化?

时间:2017-08-29 03:52:39

标签: afnetworking alamofire afnetworking-3

在阅读AFURLRequestSerialization的源代码后,我发现作者使用AFHTTPRequestSerializerObservedKeyPathsNSStringFromSelector来获取多个密钥,例如allowsCellularAccesscachePolicy,并使用自己作为观察者来观察这些键的值变化:

[self addObserver:self
       forKeyPath:keyPath
          options:NSKeyValueObservingOptionNew
          context:AFHTTPRequestSerializerObserverContext];

为什么他不会覆盖某些setter并使用setter来观察值的变化?

- (void)setAllowsCellularAccess:(BOOL)allowsCellularAccess {
    //here do something else
    _allowsCellularAccess = allowsCellularAccess;
}

有什么好处吗?

0 个答案:

没有答案