如何构建网络层可能

时间:2018-04-15 05:32:58

标签: swift

我正在尝试创建通用函数来处理常见的API CRUD函数。我创建这样的模型:

struct User : Model{
    static var url: String { return "users" }

    var id: String?
    var username: String
    var age: Int?
    ...
}

然后,我创建一个User实例并将其传递给网络功能:

func readObject<T: Model>(_ object: T, completion: @escaping ReadClosure<T>) {

我的问题是:
每次我必须创建一个User实例只使用两个属性(id和url)来组成请求但所有其他数据都是假的..我不使用它们。所以如何使传递模型干净,我只需要传递id和url来创建请求。

我在考虑让所有属性都可选,但后来我觉得以后拆开所有属性太难了。所以还有其他想法来解决这个问题吗?

0 个答案:

没有答案