【问题标题】:How can I set class object in NS dictionary如何在 NS 字典中设置类对象
【发布时间】:2016-05-02 22:06:36
【问题描述】:

您好,我是编程新手,所以这个问题对您来说可能没有意义。好吧,我想做的是我创建了一个模型类,并通过创建一个类对象来设置一个变量。现在我必须将这些值传递给服务器,以便将其保存到数据库中。

目前我将变量放入字典并像这样发送到服务器

   let params =
        [
        "email":user.email,
        "password":user.password,
        "first_name":user.firstName,
        "last_name":user.lastName
        ]

假设我有 10 个变量,我不想像这样分配每个变量。我想要这样的东西

   let params = [user]

这样我就直接传递了一个对象,而无需再次手动执行...希望您理解我的问题。

【问题讨论】:

  • 你不能直接这样做,但你可以编写一个自定义函数来做到这一点。
  • 你能写一个演示函数吗?@vadian
  • 看埃里克的回答,很合适。

标签: ios swift dictionary swift2


【解决方案1】:

您可以在 User 类中声明一个计算属性,该属性将为您创建参数。像这样的例子:

class User {
    var email = "a@test.com"
    var password = "123"
    var firstName = "joe"
    var lastName = "abc"
    var params: [String:String] {
        return [
            "email": self.email,
            "password": self.password,
            "first_name": self.firstName,
            "last_name": self.lastName
        ]
    }

}

let user = User()

let params = user.params  // ["first_name": "joe", "last_name": "abc", "email": "a@test.com", "password": "123"]

【讨论】:

  • 感谢您的回答...如果我也有整数值怎么办?
  • 我可以用这个吗? var params: [String:Any] .. 它有效,但我想听听你的意见
  • 你可以使用 AnyObject 作为值类型,是的。
猜你喜欢
  • 2012-04-11
  • 2012-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
相关资源
最近更新 更多