Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.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
用于API调用的iOS项目结构_Ios_Api_Mvvm - Fatal编程技术网

用于API调用的iOS项目结构

用于API调用的iOS项目结构,ios,api,mvvm,Ios,Api,Mvvm,我已经开始编写一个iOS应用程序,它调用各种web服务调用来连接数据库中的数据并进行身份验证等 我想知道构建项目的好方法,特别是模型区域(项目是MVVM)和对提供数据的API的任何调用 目前我有: --模型 --观点 --视图模型 --服务 任何API包装器代码都存在于服务中,例如,任何登录功能或从数据库获取内容的API调用 然后,模型代码使用这些包装器来处理数据 我不确定什么是最好的解决方案是为我的项目结构然而。例如,假设我的API有一个web服务调用,该调用向我返回了歌曲列表: 哪里是将AP

我已经开始编写一个iOS应用程序,它调用各种web服务调用来连接数据库中的数据并进行身份验证等

我想知道构建项目的好方法,特别是模型区域(项目是MVVM)和对提供数据的API的任何调用

目前我有:

--模型

--观点

--视图模型

--服务

任何API包装器代码都存在于服务中,例如,任何登录功能或从数据库获取内容的API调用

然后,模型代码使用这些包装器来处理数据

我不确定什么是最好的解决方案是为我的项目结构然而。例如,假设我的API有一个web服务调用,该调用向我返回了歌曲列表:

哪里是将API调用的包装器放在后端的好地方

对于本例,我的模型中的大致轮廓是什么i、 e.我有点不确定模型中应该有多少代码,它应该调用API而不是包装器,还是应该仅仅是一个简单的对象,只描述模型中的字段(song_name、Artister等),还是应该具有调用包装器代码的基本函数

对于大多数API调用,我是否应该使用单例,因为对于有效的“助手”,我不需要多次实例化


最后,如果我的API通过过滤收回歌曲列表或仅收回一首歌曲,如何建模,我是否需要两个完全不同的模型,一个是歌曲列表,一个是单曲?如果我有一个简单的模型类,只列出字段,我可以看到其他代码如何调用我的API并创建此对象的列表,但是如果模型包含获取相册的函数,例如,我不能这样做

我希望模型能够描述每个属性,并有助手方法将数据直接解析到每个对象

您完全可以拥有一个处理API调用并返回解析模型的单例

使视图控制器保持非常轻的重量


我希望这能有所帮助。

谢谢,这绝对是有帮助的。