Назначенный инициализатор (designated initializer) - это главный инициализатор(конструктор), все остальные методы
создающие класс вызывают этот метод.
Как выглядит назначенный инициализатор?
retain - ручное управление памятью (устарело).
assign - для примитивов (для указателей будет тупое присваивание адреса).
copy - объект копируется в момент присваивания.
nonatomic - для работы в одном потоке, более быстрый.
atomic - потоко-безопасен, блокирует одновременный доступ, более медленный.