Что такое method swizzling и когда его применять?
Суть
Swizzling — подмена реализации (IMP) существующего метода в рантайме через Obj-C runtime API. Чаще всего — обмен IMP двух селекторов method_exchangeImplementations, реже — прямая замена method_setImplementation с сохранением старой IMP. Эффект глобальный: меняются все экземпляры класса и всех его подклассов, которые метод не переопределили.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep