Skip to content

Latest commit

 

History

History
17 lines (10 loc) · 1.47 KB

5.6.4 MessageDispatch.md

File metadata and controls

17 lines (10 loc) · 1.47 KB

3) Message Dispatch (самая динамическая диспетчеризация)

Работает с указателями на методы Objective-C в runtime

  • Во время выполнения программы (в runtime) на основании указателя на метод система вызывает его;
  • Позволяет реализовать полиморфизма из ООП;
  • Еще более динамическое поведение, чем у табличной;
  • Позволяет swizzling/isa-swizzling;

В Obj-C используется message Dispatch. У каждого объекта есть ссылка issa (объект класса, не экзампляр), где хранится словарь с ключами в виде selector`а и значениями в виде ссылки на функции. Когда вызывается метод туда передается селектор и сам объект (который этот метод вызывает), которому придет это сообщение.

messageDispatch


5.6.3 Table Dispatch Theme | Back To iOSWiki Contents | End