Сеттер в не ARC коде
Суть
Вопрос про ручное управление памятью (MRC) и потокобезопасность аксессоров. Сеттер в MRC обязан освободить старое значение и удержать новое; геттер — вернуть объект так, чтобы он не умер у вызывающего в руках. Если к свойству обращаются из разных потоков, обе операции нужно ещё и синхронизировать.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep