Подтвердить что ты не робот

Каковы цифры в строке кодирования типа метода ObjC?

Я читаю Apple статья о Objective-C строках кодирования типа времени выполнения и некоторые методы имеют числа в строках типов.

Что означают цифры в [email protected]:[email protected]?

4b9b3361

Ответ 1

Это выглядит как кодировка метода сеттера, например:

- (void) setSomething:(id) anObject

Чтобы разбить его:

  • v означает тип возврата void
  • 12 означает размер кадра аргумента (12 байтов)
  • @0 означает, что существует тип объекта Objective-C при смещении байта 0 кадра аргумента (это неявный объект self в каждом методе Objective-C)
  • :4 означает, что существует селектор при смещении байтов 4 (это неявный _cmd в каждом методе, который является селектором, который использовался для вызова метода).
  • @8 означает, что существует еще один тип объекта Objective-C при смещении байта 8.