Зачем использовать амперсанд при анализе данных JSON при указании ошибки в Swift?

При синтаксическом анализе данных с помощью NSJSONSerialization мой код не будет компилироваться, если я не укажу ошибку синтаксического анализа с амперсандом перед ней, как таковой:

var parsingError: NSError? = nil
            let parsedResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: &parsingError) as! NSDictionary

Вы можете увидеть это в

ошибка: &parsingError

Может ли кто-нибудь объяснить, почему это так и что здесь означает амперсанд?

Большое спасибо!


person Julius    schedule 23.06.2015    source источник


Ответы (1)


& требуется для входных и выходных параметров.

Я надеюсь, вы знаете, что ваше приложение рухнет, если оно не получит словарь JSON. Что очень вероятно, например, если вы находитесь за платным доступом. Таким образом, ваше приложение, скорее всего, рухнет, если я попробую его в отеле с бесплатным Wi-Fi. Передача AllowFragments кажется довольно бессмысленной, поскольку фрагменты JSON не являются словарями.

person gnasher729    schedule 23.06.2015
comment
Почему это произошло с платным доступом? Надеюсь, вы не возражаете против моего вопроса. - person Julius; 23.06.2015