iOS JSON的设计模式

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

我将在Swift中构建一个与该API通讯的iOS应用,在构建之前,我希望您对设计模式提出建议。我真的在尝试学习如何在此处创建简洁,一流的MCV设计,因此欢迎任何提示。

我已经编写了一个REST API,该API可以通过HTTP在大量资源上启用CRUD操作,让我们将它们称为“项目”。项目具有多个属性,例如“名称”,“类型”等。存在一些关系(例如,将“项目”分配给“用户”)。数据显示为JSON。

我正在努力解决的关键问题之一是在哪里存放JSON下载和解析的逻辑。你把它放在ViewController中吗?还是创建一个单独的控制器类?我想将JSON代码重用于多种资源(例如“ items”和“ users”)。我真的需要ItemManager和ItemViewController吗?

我目前的想法:

  • ((M)项-遵循API上资源的确切结构的可解码JSON结构]
  • ((M)用户-同上
  • ((C)JSONController-一个类,它获取URL和所需的类类型,然后去检索响应并返回该类的实例
  • ((C)ItemManager-一个类,它将跟踪所有项目(通过启动一堆Item类的实例),并在需要时使用JSON控制器进行更新]
  • [(C)UserManager-同上
  • (C)ItemViewController-从ItemManager检索项目并为视图控制器准备它们;还协调按钮动作等
  • [(C)UserViewController-同上
  • [(V)ItemView-以表格形式显示项目的视图
  • ((V)UserView-同上

非常感谢和亲切的问候,斯科特

swift cocoa-touch
1个回答
0
投票

您所做的是正确的,应该通过控制器进行联网。但是,最好将其与视图控制器分开,这似乎是您对JSONController类所做的事情。 Here是有关“ MVC-N”范例的有趣文章,基本上正是您正在做的事情:将网络组件与视图控制器分离。

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