В моем коде я хочу знать, является ли метод методом класса или методом экземпляра. Код, который я в настоящее время использую, работает, но мне интересно, есть ли счетчик.Является метод метод класса или метод экземпляра
Текущий код «обнаружить», если это метод класса или экземпляра:
Method method = class_getInstanceMethod(class, selector);
if (method) {
__strong Class object = [[class alloc] init];
objc_msgSend(object, selector);
}else {
method = class_getClassMethod(class, selector);
if (method) {
objc_msgSend(class, selector);
}
}
Я уверен, что ваш код не может быть улучшен. Вы можете изменить 'objc_msgSend' на' performSelector: ', если вы действительно этого хотите, но нет никакого смысла делать это. – Avt
Мне очень любопытно, что вы здесь. Каждая подпись в объекте = c указывает, является ли это методом класса или экземпляра, поэтому мне интересно, зачем вам это нужно во время выполнения. –
@NuclearGhost. Я хочу вызвать метод на объекте, которого может не быть. Это может быть метод экземпляра или метод класса. Уоррен Бертон, почему инвертировать, поскольку он будет создавать только экземпляр, если это метод класса. Этот объектный файл не может быть импортирован. И это общая функция для этого. Я мог бы сделать две функции, например, для класса другого. – Haagenti