Ios 从ASIHTTPRequest转换为AFNetworking的最佳实践?

Ios 从ASIHTTPRequest转换为AFNetworking的最佳实践?,ios,http,asihttprequest,afnetworking,Ios,Http,Asihttprequest,Afnetworking,我正在将我的应用程序从ASIHTTPRequest转换为AFNetworking。概括地说,关于这两个框架的不同之处以及我的应用程序的结构应该如何不同,我应该知道什么?例如,我发现ASIHTTPRequest基于@Selector,而AFNetworking基于GCD块。您已经提到了最重要的部分;ASI的委托方法与AFN中的块之间的差异 如果您在许多不同的类中实现了ASI方法,那么当您切换到AFN时,将这些块移动到相同类中的块中是相当简单的。否则,如果您已经实现了一些处理所有ASI网络的gran

我正在将我的应用程序从ASIHTTPRequest转换为AFNetworking。概括地说,关于这两个框架的不同之处以及我的应用程序的结构应该如何不同,我应该知道什么?例如,我发现ASIHTTPRequest基于@Selector,而AFNetworking基于GCD块。

您已经提到了最重要的部分;ASI的委托方法与AFN中的块之间的差异

如果您在许多不同的类中实现了ASI方法,那么当您切换到AFN时,将这些块移动到相同类中的块中是相当简单的。否则,如果您已经实现了一些处理所有ASI网络的grand类,请准备将其复制并粘贴到调用类中。总的来说,这将使您受益匪浅,因为它减少了您在遵循网络逻辑的代码路径时必须进行的导航量


此外,如果您已经在ASI中有效地编写了一个针对API的包装器,您可能需要考虑子类AfHTTPclipse并在这样的子类中实现公共逻辑。

我不知道有什么“最佳实践”,但是选择器/块的东西是最大的区别。为新库重构代码需要一些努力。谢谢。您是否介意解释如何最好地将AFHTTPClient子类化,以及如何将其用于操作队列、在后台使用应用程序继续HTTP请求等?AFHTTPClient具有操作支持,请选择适合您使用的最佳操作类型(AFImageReqestOperation、AFJSONRequestOperation等)并使用
将HttpRequestOperationWithRequest:success:failure
排入队列。对于有限的后台使用,AF遵循与ASI相同的规则。