【问题标题】:How to assign null value in dictionary?如何在字典中分配空值?
【发布时间】:2016-06-09 07:35:03
【问题描述】:

我需要像这样向服务器发送参数:

"searchConditions": {
     "firstNameLastName": "My Name",
     "email": null,
}

我正在尝试这样发送:

let searchParameters: [String: AnyObject] = [
        "firstNameLastName": self.byNameField.text!,
        "email": ""
}

但服务器将"email": "" 视为email=

当我尝试设置 "email": nil 时,它给了我一个错误:

Nil is not compatible with expected dictionary value type 'AnyObject'

如何向我的服务器发送“null”值?

【问题讨论】:

  • 如果电子邮件参数为空,您是否尝试忽略它?也许你必须与服务器团队讨论 null 值。
  • 为什么要向服务器发送 nil 或 null,目的是什么?字典值不能为 nil。
  • 只是不要在电子邮件字典中输入任何值。当您访问字典的该键时,您将返回 nil。在这种情况下,发送文字字符串 null

标签: ios swift dictionary


【解决方案1】:

约翰,

您可以使用 NSNull() 在字典中插入 null,

喜欢

let test : [String : AnyObject] = ["test" : NSNull()]

当你打印测试键的值时,你会得到

po test["test"]
▿ Optional<AnyObject>
  - Some : <null>

【讨论】:

    【解决方案2】:

    对于 Objective-C:

    "email" = [NSNull null]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 2011-08-29
      相关资源
      最近更新 更多