1

相当广泛的问题,我知道。

在模型之外的视图控制器中保持网络是不好的做法吗?或者这在模型中会更受欢迎吗?例如,目前有一个 ViewController,我通过它获取 JSON 数据。一个 URL 请求,对其进行解析,并将其呈现给视图。

我将 JSON 结果的数据用作数据模型对象中的属性。不好的做法?

我现在专门使用iOS,但对我来说一切都好,我只是想理解。

4

1 回答 1

3

假设你的模型是数据对象,我认为网络代码应该与 ViewController 和 Model 分开,如果可能的话,即:将它包含在一个单独的类 NetworkHelper 中,并让 ViewController 操作 NetworkHelper 来填充模型(数据对象) .

它允许单独测试网络代码。您还可以通过替换 NetworkHelper 轻松替换数据源(例如:使用硬编码数据而不是下载)。

依赖关系可能如下所示:

NetworkHelper--UIViewController
            \   /   |
            Model  UIView
于 2015-12-03T07:00:01.837 回答