【问题标题】:How to pass dictionary as a parameter in the method in Swift?如何在 Swift 的方法中将字典作为参数传递?
【发布时间】:2014-11-23 15:01:56
【问题描述】:

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

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"

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

【问题讨论】:

    标签: methods parameters swift alamofire


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      相关资源
      最近更新 更多