Какие цифры в строке кодирования типа метода ObjC?
Я читаю статью Apple о строках кодирования типов во время выполнения Objective-C, и некоторые методы имеют числа в строках типов.
Что означают цифры v12@0:4@8
имею в виду?
1 ответ
Решение
Это похоже на кодировку метода установки, подобного этому:
- (void) setSomething:(id) anObject
Чтобы сломать это:
v
означает тип возврата void12
означает размер кадра аргумента (12 байт)@0
означает, что существует объектный тип Objective C с байтовым смещением 0 кадра аргумента (это неявныйself
объект в каждом методе Objective-C):4
означает, что есть селектор по байтовому смещению 4 (это неявный_cmd
в каждом методе, который является селектором, который использовался для вызова метода).@8
означает, что существует другой тип объекта Objective C с байтовым смещением 8.