Массив необязательный ??NSNull () - выражение было слишком сложным, чтобы его можно было решить за разумное время - PullRequest
0 голосов
/ 21 октября 2018

Я добавил SDK в свой проект, у которого есть проблемы с этим методом.это говорит о том, что операция слишком сложна, и я должен разделить ее.У меня есть 3 вопроса:

  1. Связана ли эта ошибка компиляции с версией swift, я имею в виду, существует ли эта ошибка в разных версиях swift или нет?
  2. почему кто-то должен писать NSNULLкогда nil существует в переменной?
  3. Если я хочу временно решить проблему (до обновления sdk), что мне делать?

Ошибка:

Выражение было слишком сложным, чтобы его можно было решить за разумное время;рассмотрите возможность разбиения выражения на отдельные подвыражения

Код:

import SwiftyJSON

func toJSON() -> JSON {
        var result: JSON = ["id": id ?? NSNull(),
                            "uId": uId ?? NSNull(),
                            // ten other elements ]
        return result
}

1 Ответ

0 голосов
/ 26 апреля 2019

1) Я так не думаю.Я считаю, что это проблема компилятора

2) Вы не можете добавить nil внутри коллекций, поэтому, если вы хотите добавить «заполнитель», обычно используется NSNull

3) Использовать инициализатор JSON

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

    return result
...