我刚刚阅读了https://github.com/MugunthKumar/MKNetworkKit的一些源代码,看到了这个
+(void) initialize {
if(!_sharedNetworkQueue) {
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
_sharedNetworkQueue = [[NSOperationQueue alloc] init];
[_sharedNetworkQueue addObserver:[self self] forKeyPath:@"operationCount" options:0 context:NULL];
[_sharedNetworkQueue setMaxConcurrentOperationCount:6];
});
}
}
Run Code Online (Sandbox Code Playgroud)
那个[自我]在这里意味着什么?
Jes*_*per 10
-self是协议中定义NSObject 的方法.它返回接收者,即您发送消息的对象self.如果你这样做[a self],你会a回来,是的,如果你做[self self](或self.self),你确实会self回来.
它可能在键值路径中很有用,在这些路径中你应该附加一个新组件,但是打算观察整个对象,就像在Cocoa Bindings中一样.我没有在您发布的代码中看到任何此类应用,但可能是代理采用self不同的方式,指向代理本身,而不是远程/转发对象.
| 归档时间: |
|
| 查看次数: |
3224 次 |
| 最近记录: |