Jsonkit не распознанный селектор во время сериализации

StackOverflow https://stackoverflow.com/questions/9304234

  •  25-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать библиотеку jsonkit и включил исходные файлы в моем проекте. Я включил заголовок jsonkit.h так, чтобы включенная категория дает объектам NSDictionary объекты Jsondata и JSonstring Selectors.

  NSMutableDictionary* root = [NSMutableDictionary dictionary];
  [root setValue:@"CONNECT" forKey:@"command"];
  NSData* data = [root JSONData];

Но во время выполнения я получаю следующую ошибку:

 -[__NSCFDictionary JSONString]: unrecognized selector sent to instance 0x784b870

Почему категория не добавляет соответствующих методов к объектам NSDictionary?

Это было полезно?

Решение

Я отвечаю на свой собственный вопрос, потому что я только что понял это.

Мой код является частью статической библиотеки, на которую ссылается другое приложение для iOS. При включении статической библиотеки, которая экспортирует категории, приложение, которое использует категорию, должно быть связано с флагом «-OBJC».

Другие советы

Хотя принятый ответ решил проблему для меня, понимание того, почему он сделал (а почему это не так), определенно полезно. Для более подробного взгляда на эту проблему и возможные решения, Смотрите этот пост.

Это небольшая ошибка N00B, но я столкнулся с тем же исключением, когда импортировал файлы jsonkit.h и jsonkit.m в свой проект, но не отметил ящик, чтобы добавить его в цель в Xcode.

Откройте jsonkit.m, покажите раздел «Инспектор файлов» на панели утилит и в целевом членстве убедитесь, что рядом с вашим приложением расположена поле.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top