2015-12-05 24 views
2

我有一個枚舉聲明爲Alamofire Result<T, NSError>。就像有一個符合協議地址演員到不相關類型的總是失敗

struct City: Address { 
    let title:String? 
} 

Result<City,NSError>類型的網絡請求和映射我得到填補結果後一個結構市

,當我嘗試這個結果傳遞給方法與簽名

func checkResult(resul:Result<Address, NSError>)

問題出現0

編譯器警告我說,「不能轉換Result<City,NSError>類型的值與預期的參數類型Result<Address,NSError>

但市符合地址,我希望能夠通用的結構傳遞給方法(因爲有很多地址對象,像街道,房屋等) 有沒有辦法讓編譯器沉默?

回答

1

轉換你的函數到一個通用的一個:

func checkResult<T: Address>(result: Result<T, NSError>) { 
    // check 
} 
相關問題