我创建了一个自定义网络处理程序,用于管理来自应用程序的所有服务器调用。这在内部使用 NSURLConnection 并在数据获取完成后回调一个功能块。目前我可以设置回调方法或回调CodeBlock。我想了解哪个更好以及为什么。
选项1 :
BaseNetworkHelper * helper = [[BaseNetworkHelper alloc] initWithURL:@"request/url/as/string" action:@"action/for/request" params:params];
[helper addFinishAction:self sel:@selector(markReadFinished:)];
这样我在操作完成后调用回调方法时会收到 ARC 警告。像下面这样。
if (_target) {
if ([_target respondsToSelector:selector]) {
[_target performSelector:selector withObject:rdata];
}
}
选项 2:
BaseNetworkHelper * helper = [[BaseNetworkHelper alloc] initWithURL:@"request/url/as/string" action:@"action/for/request" params:params];
[helper startDownload:^(NSData *data, NSError *error) {
// Business logic for response handling / error handling
}];
谢谢。