子类化NSURLSession

时间:2015-02-10 06:56:42

标签: ios objective-c swift afnetworking nsurlsession

TL; DR 整个应用程序中使用NSURLSession是否有任何常见模式,只需按照子类{{1}的方式创建新的客户端类}}?


我喜欢使用AFNetworking有很多原因,如果我没有看到禁忌症,我很乐意使用它,但有时候我会有一个相对简单的任务来实现,AFHTTPSessionManager似乎是一种矫枉过正或者我只需要避免第三方依赖。

在我的脑海中,我意识到来自Apple的人为我们提供了一个很酷的东西叫AFNetworking,这听起来像是很多情况下的完美灵魂,但当我明星阅读在项目中使用它时,我想要回到NSURLSession让我解释一下原因......

当您计划使用AFNetworking为您的网络任务创建自定义类时,您只需创建一个AFNetworking的子类(当然,如果您正在处理HTTP)并简单地返回单例等等...(如果你不知道故事的其余部分,请检查this great tutorial
简单,对吧? 但是如果我想以同样的方式继承AFHTTPSessionManager怎么办?好吧,我仍然在互联网上搜索一个解决方案,但到目前为止还没有运气...每个教程,每篇文章,每个帖子状态,你在视图控制器中实例化NSURLSession,如果需要你使用它,期间。但是,如果我想在整个应用程序中使用此客户端,会发生什么?

1 个答案:

答案 0 :(得分:2)

对于您描述的用例,使一个具有NSURLSession作为属性的单例而不是对其进行子类化会更简单。请参阅 Prefer composition over inheritance?

  

您在视图控制器中实例化NSURLSession的每个教程,每篇文章,每个帖子状态,如果需要,您可以使用它,句点。

视图控制器通常不应该包含任何NSURL…类,因为视图控制器应该被告知要显示什么,它不应该询问。它超出了视图控制器应该做的范围。