API 调用的 iOS 项目结构

问题描述 投票:0回答:1

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

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

目前我有:

--型号

--观点

--视图模型

--服务

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

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

但是,我不确定对于我的项目结构来说最好的解决方案是什么。举例来说,我的 API 有一个 Web 服务调用,该调用返回给我一个歌曲列表:

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

对于这个例子,我的模型中的粗略轮廓是什么? - 也就是说,我有点不确定模型中应该有多少代码,它应该调用 API 而不是包装器,还是应该只是一个简单的对象,仅描述模型中的字段(歌曲名称、艺术家等) ),或者最后应该有调用包装器代码的基本功能吗?

我是否应该对大部分 API 调用使用单例,因为我不需要为实际上的“助手”实例化多次?

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

ios mvvm
1个回答
0
投票

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

你绝对可以有一个 Singleton 来处理 API 调用并返回解析后的模型。

保持视图控制器非常轻量。

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.