【问题标题】:'init(nilLiteral:)' is deprecated: use JSON.null instead. Will be removed in future versions'init(nilLiteral:)' 已弃用:改用 JSON.null。将在未来的版本中删除
【发布时间】:2017-11-08 09:09:34
【问题描述】:

当我使用 myProject 来 Swift4Xcode9 给我工作代码;

if (json["Records"] != nil) {

给;

'init(nilLiteral:)' 已弃用:改用 JSON.null。将在以后的版本中删除

警告下划线无。我也在使用SwiftyJSON 哪种方法最适合修复它?

【问题讨论】:

  • 嗯? use JSON.null instead——这就是你应该做的。
  • @user28434 结果!= JSON.null 对吗?
  • 是的,这就是你需要做的,所以 'if json["Records"] != JSON.null {'
  • @SwiftDeveloper,是的。我想你可以在这里省略JSON 部分而只使用.null,就像使用任何其他enum 案例一样。
  • @user28434 你能回答吗我会先批准你修复。

标签: json swift swift4 swifty-json


【解决方案1】:

您的 JSON 解析库的创建者似乎放弃了对 ExpressibleByNilLiteral 的支持,这允许在 nilJSON.null 之间进行隐式转换。

所以现在你必须明确声明JSON.null(或.null,如果类型是可推断的)。意思是你需要做的:

if (json["Records"] != JSON.null) {
   // code
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 2019-02-28
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多