美文网首页Swift
swift中泛型的应用之网络请求返回model

swift中泛型的应用之网络请求返回model

作者: 梁森的简书 | 来源:发表于2021-09-06 11:40 被阅读0次

不同网络接口请求返回数据结构各式各样,对应客户端的Model也是千差万别,我们在使用网络请求类的请求方法的时候希望给该方法传一个model类型,接口请求成功后返回一个对应的model,这个使用就要使用到泛型(所有的model类型都是遵守了某个协议的类型)。
代码:

func send<T>(mapObjectType: T.Type, completion: NetCompletion?) where T : BaseModelProtocol

使用:

GoodsRequest.homeData.send(mapObjectType: HomeModel.self) { result in
            switch result {
            case.success(let result):
                guard let model = result.model as? HomeModel else { return }
                self.data = model
                finishCallBack(model, nil)
            case .failure(let error):
                finishCallBack(nil, error)
            }
        }

其中的HomeModel是遵守了BaseModelProtocol协议的。

相关文章

网友评论

    本文标题:swift中泛型的应用之网络请求返回model

    本文链接:https://www.haomeiwen.com/subject/aetqiltx.html