我在新的iOS斯威夫特2無法通過枚舉類型作爲參數類型的函數
我已經定義了一個簡單的函數:
// ERROR: 'Method' is ambiguous for type lookup in this context
func sendRequest(method: Method, resource: String) -> NSDictionary {
Alamofire.request(method, "https://httpbin.org/get")
}
正如你看到的,我所定義的第一個參數類型Method
,由Alamofire使用。我看着Method
,它被定義爲低於Enum
:
public enum Method: String {
case OPTIONS, GET, HEAD, POST, PUT, PATCH, DELETE, TRACE, CONNECT
}
爲什麼我不能用枚舉類型作爲參數類型我的功能?
(我爲什麼要做到這一點,我不希望傳遞String
類型和檢查,如果字符串是如'get'
然後用.GET
,所以,我想直接通過Method
枚舉值函數的原因。)
==== ====更新
Method
爲Alamofire庫,我不能改變任何東西。看起來這是一個名稱衝突。但是如何擺脫這個問題呢?
可能是一個名稱衝突與名爲'Method'另一種類型。更改枚舉的名稱或以模塊名稱('Appname.Method')作爲前綴 – dan
我更新了我的帖子。 '方法'來自阿拉莫菲爾圖書館。 –
使用'Alamofire.Method'作爲函數中的類型名稱 – dan