我正在尝试创建通用函数来处理常见的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来创建请求。
我在考虑让所有属性都可选,但后来我觉得以后拆开所有属性太难了。所以还有其他想法来解决这个问题吗?