Как стать автором
Обновить

Комментарии 8

Хорошая статья, спасибо. Objective-C Runtime нужен не часто, но знание о его возможностях может сэкономить немало времени.
Самое полезное свойство рунтайма, которое я иногда использую это method swizzling. Возможность заменить реализацию какого-нибудь метода своим. И совсем не важно чей это был класс и есть ли у нас его исходники. Таким образом можно вполне легально подменять методы системных классов, приложение не реджектят. :)

Зачем это надо и как правильно этим пользоваться можно посмотреть в BlocksKit.
Это так же один из самых простых способов прострелить себе обе ноги. Так, что, использовать свизлинг это крайний случай.
Потому я и привел линку, где можно подсмотреть, как правильно пользоваться свиззлингом. Эксперименты вроде «а что получится если я ...», обычно заканчиваются плачевно. Во всяком случае первых 5-10 таких экспериментов. :)
Еще можно посмотреть на libextobjc, вот уж где действительно вся магия рантайма открывается.
Спасибо за наводку.
Дядьку — а розкажите пожалуйтста, как устроены блоки?
Вот к примеру почему мы можем использовать в блоке локальную переменную из вне, а блок потом вызывается черти откуда, а переменная сохраняется, правда адрес у нее другой, но значение верное — какой механизмь тутычки фунциклирует.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.