noveogroup / university-ios-assignment-4

university ios assignment 4

Home Page:http://noveogroup.ru/noveo-university/summer-study

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iOS. Лабораторная работа 4

Написать программу, сериализующую Objective-C объекты в человеко-читаемый формат. Для демонстрации возможностей программы разработать несколько наборов тестовых данных, которые необходимо составить так, чтобы можно было продемонстрировать 3 ошибки разного рода (например, "переданный объект не является словарем", "переданный словарь содержит объект недопустимого типа", "один из ключей является объектом недопустимого типа").

Список требований, предъявляемых к программе.

  1. Cериализатор на входе должен принимать только объекты класса NSDictionary (тип входного параметра - id), а на выход должен отдавать объект класса NSString. В случае, если во время сериализации произошла ошибка, то на выход должен быть отправлен nil. Вместе с этим у пользователя класса должна иметься возможность получить сведения о случившейся ошибке (пользоваться которой он будет по желанию). Передачу сведений об ошибке реализовать стандартным способом (по средствам т.н. out-параметра).
  2. Сериализуемые словари могут включать в себя объекты всех указанных ниже типов (классов), а ключами в них могут быть только строки и / или числа.
  3. Сериализуемые коллекции (множества и массивы) могут включать в себя объекты всех указанных ниже типов (классов).
  4. Уровень вложенности структуры данных не ограничен.
  5. Сведения об ошибке должны включать в себя как код ошибки (выраженный в виде одного из элементов перечисления), так и детальное описание (например, указать класс объекта, который привел к возникновению проблемы).

Поддерживаемые типы (классы) объектов

  • NSDictionary,
  • NSArray,
  • NSSet,
  • NSNumber,
  • NSNull,
  • CGRect (обернутый в NSValue).