2013-07-23 3 views
5

Я использовал это в нескольких проектах ...NSJSONSerialization с опциональной NO

[NSJSONSerialization dataWithJSONObject:someObject options:0 error:nil] 

, но я не знаю, как определить no options. Это как для чтения, так и для записи.

Я видел пример где-то, где человек использовал постоянное значение, а не только 0, но я не могу его найти.

Есть ли способ правильно указать без параметров?

AppCode отображает предупреждение, если я использую вышеуказанный код.

+1

Значение '0' означает« без параметров ». Специфического значения перечисления, предоставленного Apple для «нет параметров», нет. – rmaddy

+0

Я думал, что это так, но когда я использовал его в AppCode, мне не понравилось, что я не использовал правильное перечисление. Спасибо, я просто буду жить с предупреждением. – Fogmeister

+0

@rmaddy Существует, это называется 'kNilOptions'. –

ответ

13

Вы можете использовать kNilOptions. Ray Wenderlich использует его в своем iOS JSON tutorial, и я использовал его без проблем.

kNilOptions определяется в MacTypes.h:

enum { 
    kNilOptions = 0 
}; 

Поскольку NSJSONReadingOptions это перечисление, kNilOptions подходит, и, как Рэй Wenderlich указывает, в учебнике, это более описательный, чем просто 0:

NSDictionary *dictionary = [NSJSONSerialization dataWithJSONObject:someObject 
                  options:kNilOptions 
                  error:nil]; 
2

Опции 0 в порядке, это то, что я использую в Xcode в любом случае. Он не жалуется.

Смежные вопросы