数组可选?? NSNull() - 表达太复杂,无法在合理的时间内解决

问题描述 投票:0回答:1

我在我的项目中添加了一个SDK,这个方法有问题。它说操作过于复杂,我应该分开。 我有3个问题:

  1. 这个编译错误是否与swift版本有关,我的意思是这个错误是否存在于不同的swift版本中?
  2. 当nil存在于变量中时,为什么有人会写NSNULL?
  3. 如果我想临时解决问题(直到sdk更新)我该怎么办?

错误:

表达太复杂,无法在合理的时间内解决;考虑将表达式分解为不同的子表达式

码:

import SwiftyJSON

func toJSON() -> JSON {
        var result: JSON = ["id": id ?? NSNull(),
                            "uId": uId ?? NSNull(),
                            // ten other elements ]
        return result
}
swift swifty-json
1个回答
1
投票

1)我不这么认为。我相信这是编译问题

2)你不能在集合中添加nil,所以如果你想放一个'填充',通常会使用NSNull

3)使用JSON初始化程序

    let item1: (String, Any) = ("id", id ?? NSNull())
    let result = JSON(elements: item1, item2, ... )

    return result
© www.soinside.com 2019 - 2024. All rights reserved.