2014-09-29 22 views
6

Ho creato il metodo seguito nel mio codice:Come passare il dizionario come parametro nel metodo in Swift?

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

ho bisogno di passare il dizionario segue come un parametro in questo metodo che viene definito di seguito:

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

Come posso passare questo dizionario in il metodo sopra come parametro?

Questo va ricordato che il metodo è in un'altra classe e sto chiamando il metodo creando il suo oggetto come segue:

let obj = Services() 

SignIn è definito nella classe Services.swift così sto provando a chiamare come

obj.SignIn(objSignInDictionary) 

ma ottenere seguente errore

"String!" is not identical to "String" 

Dove mi sbaglio e come può essere risolto. Sono bloccato qui da un paio di giorni.

risposta

12

Se si fa alt + clic su objSignInDictionary in Xcode, verrà visualizzato come [String : String!]. È possibile risolvere questo problema impostando esplicitamente il tipo objSignInDictionary:

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

Ha funzionato per me! :-) – Developer

Problemi correlati