AlamofireObjectMapper:responseObject构建错误

时间:2016-05-03 06:40:13

标签: ios json swift alamofire

构建此类时出现此错误: Cannot convert value of type '(Response<InventoryCategory?, NSError>) -> ()' to expected argument type 'Response<_, NSError> -> Void'

import Foundation
import Alamofire
import ObjectMapper
import AlamofireObjectMapper
import RealmSwift

class ProductCategorySync {
    static func get (){
        Alamofire.request(ProductCategory.ReadAll())
            .responseObject { (response: Response<InventoryCategory, NSError>)  in
                switch response.result {
                case .Success:

                    let items = response.result.value
                    if let items = items?.result {
                        let realm = try! Realm()
                        try! realm.write {
                            for item in items {
                                realm.add(item, update: true)
                            }
                        }
                    }
                case .Failure:
                    break
                }
        }
    }
}

这里是Alamofire要求的课程:

import UIKit
import Alamofire

    enum ProductCategory: URLRequestConvertible {
    static let baseURLString = ApiConfig.baseURL

    case ReadAll()

    var method: Alamofire.Method {
        switch self {
        case .ReadAll:
            return .POST
        }
    }

    // MARK: URLRequestConvertible

    var URLRequest: NSMutableURLRequest {
        ApiConfig.model = ApiConfig.MODEL_PRODUCT_CATEGORY

        let URL:NSURL! = NSURL(string: ProductCategory.baseURLString)
        let mutableURLRequest = NSMutableURLRequest(URL: URL)
        mutableURLRequest.HTTPMethod = method.rawValue
        var param_detail : Array<Dictionary<String, AnyObject>> = Array()

        switch self {
        case .ReadAll():
            ApiConfig.method = ApiConfig.METHOD_SEARCH_READ
            param_detail.append(["opts" : ApiConfig.opts, "moduleDetail" : ApiConfig.moduleDetailArr])
            let parameters = ["jsonrpc": "2.0", "method": "api", "params": param_detail, "id" : 1]
            return Alamofire.ParameterEncoding.JSON.encode(mutableURLRequest, parameters: (parameters as! [String : AnyObject])).0

        default:
            return mutableURLRequest
        }
    }
}

代码在解析JSON数据时工作正常,但是当我添加用于将JSON映射到Realm的行时出错。

感谢您,感谢您的帮助。

0 个答案:

没有答案