非常清楚没有这样的东西作为iOS中的后台服务。话虽这么说,我正在寻找一种在设计模式下执行网络请求的标准方法。
在 Android 背景下,Google I / O 2010提出了如下图所示的设计模式。
它基本上意味着您不应该直接从活动中发出网络请求,而是将其发送到后台服务(橙色矩形)。 this document中列出的背后原因包括系统可能在用户离开屏幕时杀死活动。
回到我之前所说的,我正在寻找与RESTful iOS应用程序的设计模式相关的标准或原则,因为我注意到UIViewController
可能在以下情况下停止异步操作: / p>
考虑到这一点,让我们进入我们将文件上传到服务器的场景,让我们说它是一张图片。网络请求可能需要一些时间才能完成,用户也可以更改设备方向或离开应用程序。我们如何解决这个问题?
注意:我知道解决方案可能只是通过使视图控制器成为API客户端类的委托来使用delegate pattern
,但我觉得这会违反Single Responsibility Principle