2017-04-14 51 views
0

現在我正試圖在AlamoFireAlamofireObjectMapper庫上創建網絡層類。我已創建了一個方法,這裏GET請求下面的代碼無法在封閉中推斷通用參數

func getRequest<T: BaseMappable>(_ url : String, 
           success: @escaping (DataResponse<T>) -> Void, 
           failure: @escaping (Error) -> Void) -> Void { 

    self.request(url, method: .get).responseObject{ (response : DataResponse<T>) in 

     success(response as DataResponse<T>) 
    }   
} 

我已經在這個項目

import Alamofire 
import AlamofireObjectMapper 
import ObjectMapper 

這裏輸入法庫是試圖在方法,我得到的錯誤在Advanc的ViewController

enter image description here

謝謝e爲您支持

回答

2

嘗試在塊參數中將其更改爲(response: DataResponse <Country>)

這是因爲您的泛型函數不知道泛型參數使用哪種類型,而類型檢查器無法推斷它。你可以通過明確指出類型來幫助它。

+0

而根據上述方案 「(國家) - >()」類型的值不能轉換改變我收到此錯誤預期的參數類型「(DataResponse <_>) - >虛空」 – Tech

+0

對不起應該是':DataResponse )'。編輯答案 – Alistra

+0

謝謝@Alistra我在回答之前就已經有了這個東西,但是您的回答是正確的,謝謝您的努力。 – Tech