2013-02-11 1 views
4

На данный момент, чтобы использовать эту функцию, я «конвертирую» свой объект в словарь. то есть имена свойств становятся ключами, а значения свойств становятся значениями.Создание объекта, который работает с данными NSJSONSerializationWithJSONObject: options: error:

Есть ли способ правильно сделать это, чтобы объект работал с этой функцией?

, аналогично encodeWithCoder и initWithCoder для использования с NSUserDefaults.

Я хотел бы сделать ...

NSData *data = [NSJSONSerialization dataWithJSONObject:myObject options:0 error:nil]; 

в данный момент я сделать что-то вроде ...

NSData *data = [NSJSONSerialization dataWithJSONObject:[myObject dictionaryRepresentation] options:0 error:nil]; 
+0

Нет, потому что 'NSJSONSerialization' не имеет понятия об иностранных классах. Почему нынешний подход не подходит? Это кажется довольно хорошим/простым/изящным. – 2013-02-11 17:55:48

+0

Это работает, мне просто интересно, есть ли другой способ. Казалось, что это похоже на перебор, чтобы преобразовать в словарь, а затем в данные, подумал, могу ли я вырезать средний шаг. – Fogmeister

+0

Я не могу внезапно подумать об одном, к сожалению. – 2013-02-11 17:56:51

ответ

4

Посмотрите на JSONCoding, который опирается на NSJSONSerialization с NSCoding интерфейс.

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

  • Нет связанных вопросов^_^