2014-09-29 77 views
6

我在代碼中創建以下方法:如何將字典作爲參數傳遞給Swift中的方法?

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

我需要通過下面的字典作爲這個方法的參數,定義如下:

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

如何傳遞這個字典中以上方法作爲參數?

這應該指出的是,方法是在另一個類,我呼籲通過如下創建其對象的方法:

let obj = Services() 

簽到在Services.swift類中定義 所以我想叫它像

obj.SignIn(objSignInDictionary) 

但得到以下錯誤

"String!" is not identical to "String" 

我錯在哪裏以及如何修復。自從幾天以來我在這裏被困住了。

回答

12

如果您在alt +中單擊objSignInDictionary,您將看到其推斷爲[String : String!]。您可以通過明確設置objSignInDictionary類型來解決此問題:

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

爲我工作! :-) – Developer 2014-09-30 07:06:00

相關問題