【发布时间】:2017-07-21 23:19:36
【问题描述】:
我试图弄清楚 MVVM 和 MVP 架构设计。我决定用不同的设计方法编写简单的单屏应用程序。
关于示例应用程序的几句话:
- 这是一个简单的图像加载器
- 流程:使用来自500px 的图片加载 JSON -> 在
UICollectionView中显示单元格取决于返回的 JSON 中的图片数量 -> 逐渐下载图片并在单元格中显示它 - 我在 3 种架构设计
MVVM、MVC和MVP下实现的相同应用程序
一切都很顺利,直到我需要下载图像并显示它们 ???? .
最初我认为处理此逻辑和缓存图片的最佳位置是ViewModel(来自MVVM)和Presenter(来自MVP)但AFAIK这两个实体应该独立于UI层,但是如果我们想在那里使用UIImage,这意味着我们应该在ViewModel/Presenter中使用import UIKit ????
所以,问题
- 我可以在
ViewModel/Presenter中使用import UIKit吗? - 在这个
UIViewController中加载和存储UIImage的最佳位置是什么,ViewModel/Presenter还是别的什么?
【问题讨论】:
-
您需要将图像存储为数据类型,当您想要显示它们时,您将在视图控制器中使用 Imageview。
标签: ios design-patterns mvvm architecture mvp