ios - 将网络代码移出 Controller

标签 ios swift

<分区>

我正在学习 iOS 开发,发现在创建我的 View Controller 时,网络等代码可能会导致我的 Controller 变得庞大。

来自网络开发背景,我一直试图将我的 View 相关代码与我的 api 相关代码分开。

如何在 Swift 4 中实现这种方法?

它真的只是创建一个名为 NetworkService 的类,将所有与 API 相关的代码保留在那里并在需要时引用它的情况吗?

这种方法有什么好的例子吗?我不想为特定端点创建一个充满 URLSession 的类,所以我觉得最好的方法是更通用的方法,我可以将其他值传递给它。

另外,例如我有一个配置文件 View ,当我显示该 Controller 时,该 Controller 是否应该通过服务或 Controller 网络逻辑请求配置文件数据,或者我是否应该填充某种形式的用户对象并传递那个值到 Controller ?

最佳答案

只创建一个自定义类并移动所有网络代码也是一个选项,但是您可以在 iOS 上使用几种不同的架构。我绝对推荐你看看this blog entry ,特别是查看使用 MVVM 或 VIPER 架构。

关于ios - 将网络代码移出 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48324656/

相关文章:

ios - 每次呈现时查看 Controller 原点更改

ios - 如何在不允许可选值的情况下使用 Firebase

IOS 错误约束 ViewDidAppear 与 ViewDidLoad

ios - 为 iOS 版本构建 - 图像丢失

ios - 当用户拖动 MKMapView 时,如何为 UIImageView 设置动画?

ios - 基于设备的字体类型和颜色

swift - 无法从 Ubuntu 中的另一个目录启动 swift

iOS Swift WKWebKit 与 MBCircularProgressBarView

ios - 如何刷新每个 View 的多语言控件

ios - 在代码中创建 JTAppleCalendarView