2017-04-16 4 views
1

Alamofire 및 AlamofireObjectMapper를 사용하고 있습니다. 내 클래스를 Any 클래스로 변환 할 때 오류가 발생하는 alamofire 객체 매퍼 사용

지도하려고 메신저 내 클래스 :

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을) -> 무효'형식의 값을 변환 할 수 없습니다 예상 인수 유형 '(DataResponse) -> 무효'

어떻게이 문제를 해결할 수 있습니까?

답변

1

당신은

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

는 다음 맵핑 가능한 프로토콜을 기반으로하는 confrim 수 사용해야