7

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

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

我需要在此方法中将以下字典作为参数传递,该方法定义如下:

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

如何在上述方法中将此字典作为参数传递?

应该注意的是,方法在另一个类中,我通过创建它的对象来调用该方法,如下所示:

let obj = Services()

SignIn 是在 Services.swift 类中定义的,所以我试图这样称呼它

obj.SignIn(objSignInDictionary) 

但出现以下错误

"String!" is not identical to "String"

我错在哪里以及如何解决。我被困在这里几天了。

4

1 回答 1

12

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

let objSignInDictionary:[String:String] = ["email":emailTextField.text, "password":passwordTextField.text]
于 2014-09-29T09:17:54.403 回答