Существует ли библиотека для поддержки перемещения NSDictionary в objective-c

#objective-c

#objective-c

Вопрос:

Справочная информация:
После разбора данных json в NSDictionary или NSArray выражение становится чрезвычайно длинным, когда вы хотите получить глубокий атрибут или значение. Например:

 [[[book objectForKey:@"author"] objectForKey@"contact"] objectForKey:@"mobile"]
[[[[book objectForKey:@"author"] objectAtIndex:0] objectForKey"@"contact"] objectForKey:@"mobile"]
  

Существует ли инструмент для облегчения этого, использующий выражение запроса типа «/author/ contact / mobile» или «/author / [0]/ contact / mobile» и используемый как [SimpleTraveller getValueFromDic:book, @»/author / contact / mobile»]?

Ответ №1:

Попробуйте

 id obj = [book valueForKeyPath:@"author.contact.mobile"];
  

Комментарии:

1. Спасибо. Кстати, я прочитал какой-то документ о кодировании ключ-значение, и, похоже, он поддерживает array, но я не могу понять, как использовать valueForKeyPath для NSArray.

2. Кажется, это позволяет только получать доступ / устанавливать ключи для всех элементов в массиве, а не по произвольному индексу. Хотя я не уверен на 100%