Комментарии 8
Хорошая статья, спасибо. Objective-C Runtime нужен не часто, но знание о его возможностях может сэкономить немало времени.
0
Самое полезное свойство рунтайма, которое я иногда использую это method swizzling. Возможность заменить реализацию какого-нибудь метода своим. И совсем не важно чей это был класс и есть ли у нас его исходники. Таким образом можно вполне легально подменять методы системных классов, приложение не реджектят. :)
Зачем это надо и как правильно этим пользоваться можно посмотреть в BlocksKit.
Зачем это надо и как правильно этим пользоваться можно посмотреть в BlocksKit.
-2
Это так же один из самых простых способов прострелить себе обе ноги. Так, что, использовать свизлинг это крайний случай.
+2
Потому я и привел линку, где можно подсмотреть, как правильно пользоваться свиззлингом. Эксперименты вроде «а что получится если я ...», обычно заканчиваются плачевно. Во всяком случае первых 5-10 таких экспериментов. :)
-1
Еще можно посмотреть на libextobjc, вот уж где действительно вся магия рантайма открывается.
+1
Дядьку — а розкажите пожалуйтста, как устроены блоки?
Вот к примеру почему мы можем использовать в блоке локальную переменную из вне, а блок потом вызывается черти откуда, а переменная сохраняется, правда адрес у нее другой, но значение верное — какой механизмь тутычки фунциклирует.
Вот к примеру почему мы можем использовать в блоке локальную переменную из вне, а блок потом вызывается черти откуда, а переменная сохраняется, правда адрес у нее другой, но значение верное — какой механизмь тутычки фунциклирует.
0
www.cocoawithlove.com/2009/10/how-blocks-are-implemented-and.html
Почитайте, здесь хорошо описано.
Почитайте, здесь хорошо описано.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Objective-C Runtime. Теория и практическое применение