我在新的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