gpt4 book ai didi

swift - 使用 alamofire 对象映射器导致将我的类转换为 Any 时出错

转载 作者:行者123 更新时间:2023-11-28 06:21:09 24 4
gpt4 key购买 nike

我在我的代码中使用了 Alamofire 和 AlamofireObjectMapper。

这是我正在尝试映射的类(class):

    import ObjectMapper

import ObjectMapper

class ApplicationCollection: Mappable {

var title:String?
var name:String?
var collectionDescription:String?
var collectionId:Int!
var applications:[Application]?

required init?(map: Map) {

}

func mapping(map: Map) {
title <- map["title"]
collectionDescription <- map["description"]
collectionId <- map["id"]
applications <- map["applications"]

}
}

我正在尝试像这样在我的 API 结构中使用此类:

import Foundation
import Alamofire
import AlamofireObjectMapper

struct API {

static let URL = "http://mysite.dev/"
enum Path {
case application(Int)
case mainPageCollections
var url:String {
let path:String

switch self {
case .application(let appId):
path = "applicatipn/\(appId)"
case .mainPageCollections:
path = "ApplicationCollections"
}

return API.URL + path

}

}

static func getRuleSetDetail(callback: @escaping (DataResponse<ApplicationCollection>) -> Void){
_ = Alamofire.request(Path.mainPageCollections.url, method: .get, parameters: nil, encoding: URLEncoding.default).responseJSON(completionHandler: callback)
}

}

然后我得到这个错误:

无法将类型“(DataResponse) -> Void”的值转换为预期的参数类型“(DataResponse) -> Void”

如何修复这个编译错误?

最佳答案

你应该使用

_ = Alamofire.request(Path.mainPageCollections.url, method: .get, parameters: nil, encoding: URLEncoding.default).responseObject(completionHandler: callback)

然后你可以确认基本可映射协议(protocol)

关于swift - 使用 alamofire 对象映射器导致将我的类转换为 Any 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43440492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com