Вопросы по теме 'objective-c-runtime'
В чем разница между *(id *)((char *)object + ivar_getOffset(ivar)) и object_getIvar(object, ivar)
Согласно Справочник по среде выполнения Objective-C :
ivar_getOffset Возвращает смещение переменной экземпляра.
ptrdiff_t ivar_getOffset(Ivar ivar) Обсуждение Для переменных экземпляра типа id или других типов объектов вызовите...
1407 просмотров
schedule
06.12.2023
Преобразование строки (MyExampleClass) в имя класса (MyExampleClass)
Я хочу преобразовать строку в имя класса. Представьте, что у меня есть изменяющаяся строка, содержащая имя класса, например, строка "MyExampleClass" . Теперь я хочу создать объект класса MyExampleClass . Мне нужно получить имя класса из строки....
16755 просмотров
schedule
10.09.2023
PyObjC: как удалить существующий класс Objective-C
Ранее я создал класс ObjC. Как я могу удалить его снова? Потому что в какой-то момент я хочу воссоздать его в другой версии.
Прямо сейчас, если я просто объявлю его повторно, я получу исключение X is overriding existing Objective-C class .
714 просмотров
schedule
16.03.2024
Как создать экземпляр любого типа (id) в Objective-c
У меня есть экземпляр NSArray, содержащий некоторые объекты определенного типа (NSDictionary).
Мне нужно скопировать этот массив в NSArray некоторого типа, известного во время выполнения.
Поэтому мне нужно создать экземпляры типа, известного во...
1340 просмотров
schedule
12.12.2022
Почему некоторые методы (-retainWeakReference, -allowsWeakReference, +load, +initialize) класса NSObject нельзя добавлять в другие классы во время выполнения?
Во время выполнения легко создать копию MyNSObject класса Class NSObject :
Сначала создайте новую пару классов .
Class MyNSObject = objc_allocateClassPair(nil, "MyNSObject", 0);
Во-вторых, прочитайте методы, протоколы и переменные...
1483 просмотров
schedule
04.07.2022
Как динамически добавить метод класса?
Используя среду выполнения Objective-C, как мне добавить метод +layerClass в закрытый класс UIGroupTableViewCellBackground (а не в его суперкласс, UIView )? Примечание. Это только для тестирования (чтобы увидеть, как UITableViewStyleGrouped...
5292 просмотров
schedule
25.11.2022
Звонить супер без ключевого слова супер
Я хочу реализовать функцию «Исправить и продолжить», которая была в Xcode 3.
КОНТЕКСТ :
Основная идея такова: когда мне нужно "быстро что-то исправить", я не перекомпилирую проект. Я компилирую небольшой Attacker class с "обновленной"...
816 просмотров
schedule
08.05.2024
Объект настройки задачи среды выполнения Objective-C для NSMutableDictionary
Я кодирую довольно сложную систему, которая использует много метаданных для управления динамическими объектами. Я использую различные функции времени выполнения Objective-C. Я хочу добавить материал в изменяемые словари, которые являются свойствами...
160 просмотров
schedule
13.05.2023
Как вызывается forwardInvocation:?
Глядя только на библиотеку времени выполнения Objective-C, когда сообщение отправляется объекту, который не отвечает на него, система времени выполнения дает получателю еще один шанс обработать сообщение. Таким образом, метод получателя forward:: ,...
4030 просмотров
schedule
12.09.2022
Знать, когда объект создан
Есть ли способ использовать библиотеку времени выполнения ObjC или Cocoa для получения уведомлений при создании объекта, например, после его возврата из метода init ?
Я хочу добиться этого без изменения объекта или его подкласса (например, без...
84 просмотров
schedule
24.01.2024
Есть ли способ динамически распределять или присваивать значения ivars класса во время выполнения в Cocoa/Cocoa Touch?
Я уверен, что мы можем динамически определять iVars класса во время выполнения. Есть ли способ выделить определенные iVars во время выполнения? ТИА..
110 просмотров
schedule
22.03.2023
Ласточка не распознает исключение селектора из вызова NSInvocation forwardInvocation
У меня есть объект, который пересылает полученные сообщения. Он не реализует пересылку их другим объектам с помощью forwardInvocation . Однако methodSignatureForSelector не всегда будет возвращать допустимую сигнатуру метода в определенное время...
548 просмотров
schedule
31.12.2022
IMP с неизвестным количеством параметров
Можно ли создать IMP, в котором количество параметров соответствует селектору для разрешаемого метода экземпляра?
Я мог бы использовать оператор «если» и конечное число параметров (скажем, от 0 до 10), но возможно ли иметь, например,...
323 просмотров
schedule
06.09.2022
Как добавить метод класса во время выполнения для Obj-C?
Среда выполнения Objc предоставляет функцию class_addMethod() , позволяющую попробовать добавить метод экземпляра во время выполнения.
Есть ли какая-нибудь функция, которая могла бы попытаться добавить метод класса в класс во время выполнения?...
199 просмотров
schedule
11.05.2024
Как создаются объекты NSBlock?
Я предварю этот вопрос, заявив, что то, что я собираюсь задать, предназначено только для образовательных и, возможно, отладочных целей.
Как блочные объекты создаются внутри среды выполнения Objective C?
Я вижу иерархию классов, представляющих...
3349 просмотров
schedule
20.04.2022
RestKit + Google Maps iOS SDK через какао-бобы странное поведение
При использовании инфраструктуры RestKit с Google Maps iOS SDK я получаю сообщение на консоли «I restkit: RKLog.m: 33 Инициализировано ведение журнала RestKit ...» при запуске приложения. В случае использования их по отдельности у меня нет такого...
255 просмотров
schedule
19.09.2023
Получить отправителя сообщения для NSInvocation
Как мне получить отправителя сообщения, заключенного в NSInvocation?
Я нахожусь в объекте, и я только что получил вызов в моем forwardInvocation: . Есть ли способ узнать, кто отправил мне сообщение в первую очередь?
133 просмотров
schedule
13.07.2022
objc_msgОтправить макрос на arm64
Я пытаюсь понять разницу между id objc_msgSend(id self, SEL op, ...) и void objc_msgSend(void)
У меня есть этот макрос, который работал для методов всех типов. Однако при переходе на arm64 эта версия objc_msgSend больше недоступна.
#define...
544 просмотров
schedule
27.10.2022
Подкласс класса Objective-C без привязки к суперклассу?
Я пишу подключаемый модуль SIMBL для Spotlight и пытаюсь создать подкласс внутренний тип прожектора. Хотя я могу получить заголовки непосредственно из исполняемого файла, используя class-dump , у меня нет статическая библиотека для компоновки,...
431 просмотров
schedule
06.04.2024
Objective-C Адрес выражения свойства
Мне нужен адрес доступа к собственности, но есть проблема. пример кода
@interface Rectangle : NSObject
{
SDL_Rect wall;
SDL_Rect ground;
}
@property SDL_Rect wall;
@property SDL_Rect ground;
@end
@implementation Rectangle
@synthesize x;...
6428 просмотров
schedule
06.05.2022