Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift中使用mvvm模式的web调用函数_Ios_Swift_Web_Mvvm - Fatal编程技术网

Ios swift中使用mvvm模式的web调用函数

Ios swift中使用mvvm模式的web调用函数,ios,swift,web,mvvm,Ios,Swift,Web,Mvvm,我正在尝试使用swift实现MVVM设计模式,但下面提到的几件事我并不清楚 我需要得到花的列表并在tableview中显示它。 我将调用web api,它将提供不同类型花的详细信息。 所以我创建了Flower类(作为模型)和FlowerViewModel类(作为视图模型),ViewController中有tableview 但不确定,我应该将调用web api和解析JSON响应放在哪个类中? 到目前为止,我已经将这两个放置在FlowerViewModel类中 请建议是否需要对这两个功能的放置进行

我正在尝试使用swift实现MVVM设计模式,但下面提到的几件事我并不清楚

我需要得到花的列表并在tableview中显示它。 我将调用web api,它将提供不同类型花的详细信息。 所以我创建了Flower类(作为模型)和FlowerViewModel类(作为视图模型),ViewController中有tableview

但不确定,我应该将调用web api和解析JSON响应放在哪个类中? 到目前为止,我已经将这两个放置在FlowerViewModel类中

请建议是否需要对这两个功能的放置进行更正,或者我的假设是正确的


谢谢

Web服务API类应该是独立的遵循单一责任原则(SRP),但是调用方或该类的实例应该在视图模型中ViewModel委托服务调用
webapi
,并从解析的响应中,获取将这些项绑定到
UITableView
的花列表。这就是我在
MVVM
中的实现方式

明确指出:

class FlowerFetcher {
    func getFlowers(callback: ([Flowers])->()) {}
}

class FlowerViewModel {
    private var flowerService: FlowerFetcher?

    init(flowerService: FlowerFetcher?) {}
}