【发布时间】:2017-05-22 10:44:07
【问题描述】:
请考虑应用不要在模型中存储图像。相反,它存储用于从图像缓存中检索图像的 URL。
考虑这个模型:
class Post {
let id: String
let title: String
let imageUrl: URL
}
假设用户创建了一个新帖子(输入title 并选择image),然后应用将其发送到服务器。
问题:编写在服务器上创建新帖子的方法的正确方法是什么?
我想写这样的东西:
func createModel(_ model: Post, completion: () -> Void)
但问题是应用还不知道imageUrl。
另一个想法是有一个接受模型所有属性的方法:
func createPost(_ title: String, image: UIImage, completion: () -> Void)
但是这个解决方案是不可重复使用的:不可能有一个通用的方法来创建一个模型。不好。
此外,这种方法不允许我们使用模型尚未保存到后端,从而强制显示活动指示器。
有什么建议可以解决吗?
【问题讨论】:
标签: swift model architecture client-server immutability