Methods 如何将字典作为参数传递给Swift中的方法?

Methods 如何将字典作为参数传递给Swift中的方法?,methods,parameters,swift,alamofire,Methods,Parameters,Swift,Alamofire,我在代码中创建了以下方法: func SignIn(objDictionary:Dictionary<String,String>) { //Body of method } 如何在上述方法中将此字典作为参数传递 需要注意的是,该方法位于另一个类中,我通过创建其对象来调用该方法,如下所示: let obj = Services() SignIn在Services.swift类中定义 所以我试着把它叫做 obj.SignIn(objSignInDictionary) 但

我在代码中创建了以下方法:

func SignIn(objDictionary:Dictionary<String,String>)
{
    //Body of method
}
如何在上述方法中将此字典作为参数传递

需要注意的是,该方法位于另一个类中,我通过创建其对象来调用该方法,如下所示:

let obj = Services()
SignIn在Services.swift类中定义 所以我试着把它叫做

obj.SignIn(objSignInDictionary) 
但是得到下面的错误

"String!" is not identical to "String"

我错在哪里以及如何纠正。我已经在这里呆了几天了。

如果在Xcode中按住alt键并单击
objSignInDictionary
,您将看到其推断为
[String:String!]
。您可以通过显式设置
objSignInDictionary
类型来解决此问题:

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