2014-09-29 3 views
6

Ich habe folgende Methode in meinem Code erstellt:Wie übergebe ich Dictionary als Parameter in der Methode in Swift?

func SignIn(objDictionary:Dictionary<String,String>) 
{ 
    //Body of method 
} 

Ich brauche die folgende Wörterbuch als Parameter in dieser Methode zu übergeben, wie nachstehend definiert:

let objSignInDictionary:Dictionary = ["email":emailTextField.text, "password":passwordTextField.text] 

Wie kann ich dieses Wörterbuch passiere in die obige Methode als Parameter?

Dies sollte beachtet werden, dass Verfahren in einer anderen Klasse ist und ich die Methode nenne durch sein Objekt zu erzeugen, wie folgt:

let obj = Services() 

SignIn in Services.swift Klasse definiert ist so versuche ich es zu nennen wie

obj.SignIn(objSignInDictionary) 

aber immer folgende Fehler

"String!" is not identical to "String" 

Wo ich falsch liege und wie es behoben werden kann. Ich stecke hier seit ein paar Tagen fest.

Antwort

12

Wenn Sie Alt + Klick objSignInDictionary in Xcode Sie sehen, wird es als [String : String!] abgeleitet. Sie können dies durch explizite Einstellung objSignInDictionary Typ:

let objSignInDictionary:[String:String] = ["email":emailTextField.text, "password":passwordTextField.text] 
+0

Arbeitete für mich! :-) – Developer

Verwandte Themen