DevPrep

Все темы › Objective-C

Что такое method swizzling и когда его применять?

Senior PRO

Суть

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

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store