Ich bin neu in iOS Swift 2.kann nicht Enum-Typ als Parameter Art der Funktion übergeben
Ich habe eine einfache Funktion definiert:
// ERROR: 'Method' is ambiguous for type lookup in this context
func sendRequest(method: Method, resource: String) -> NSDictionary {
Alamofire.request(method, "https://httpbin.org/get")
}
Wie Sie sehen, definiert ich der erste Parameter hat Typ Method
, die von Alamofire verwendet wird. Ich schaute in den Method
, es ist ein Enum
wie unten definiert ist:
public enum Method: String {
case OPTIONS, GET, HEAD, POST, PUT, PATCH, DELETE, TRACE, CONNECT
}
Warum ich nicht Aufzählungstyp als Parametertyp meiner Funktion verwenden kann?
(Der Grund, warum ich tun möchte, ist dies will ich nicht String
Typ übergeben und überprüfen, ob String zB ist 'get'
dann .GET
verwenden, so, ich möchte den Method
Enum-Wert an die Funktion direkt zu übergeben.)
==== ==== Update
Method
von Alamofire Bibliothek ist, kann ich nichts ändern. Sieht aus wie es ein Namenskonflikt ist. Aber wie wird dieses Problem gelöst?
Wahrscheinlich einen Namenskonflikt mit einem anderen Typ namens 'Method'. Ändern Sie den Namen der Enumeration oder setzen Sie ihn mit dem Modulnamen ('Appname.Method') voran. – dan
Ich habe meinen Beitrag aktualisiert. 'Methode' stammt aus der Alamofire-Bibliothek. –
Verwenden Sie 'Alamofire.Method' als den Typnamen in Ihrer Funktion – dan