Вопросы по теме '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 просмотров

Почему некоторые методы (-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 просмотров

Объект настройки задачи среды выполнения Objective-C для NSMutableDictionary
Я кодирую довольно сложную систему, которая использует много метаданных для управления динамическими объектами. Я использую различные функции времени выполнения Objective-C. Я хочу добавить материал в изменяемые словари, которые являются свойствами...
160 просмотров
schedule 13.05.2023

Как вызывается forwardInvocation:?
Глядя только на библиотеку времени выполнения Objective-C, когда сообщение отправляется объекту, который не отвечает на него, система времени выполнения дает получателю еще один шанс обработать сообщение. Таким образом, метод получателя forward:: ,...
4030 просмотров

Знать, когда объект создан
Есть ли способ использовать библиотеку времени выполнения ObjC или Cocoa для получения уведомлений при создании объекта, например, после его возврата из метода init ? Я хочу добиться этого без изменения объекта или его подкласса (например, без...
84 просмотров
schedule 24.01.2024

Есть ли способ динамически распределять или присваивать значения ivars класса во время выполнения в Cocoa/Cocoa Touch?
Я уверен, что мы можем динамически определять iVars класса во время выполнения. Есть ли способ выделить определенные iVars во время выполнения? ТИА..
110 просмотров

Ласточка не распознает исключение селектора из вызова NSInvocation forwardInvocation
У меня есть объект, который пересылает полученные сообщения. Он не реализует пересылку их другим объектам с помощью forwardInvocation . Однако methodSignatureForSelector не всегда будет возвращать допустимую сигнатуру метода в определенное время...
548 просмотров

IMP с неизвестным количеством параметров
Можно ли создать IMP, в котором количество параметров соответствует селектору для разрешаемого метода экземпляра? Я мог бы использовать оператор «если» и конечное число параметров (скажем, от 0 до 10), но возможно ли иметь, например,...
323 просмотров
schedule 06.09.2022

Как добавить метод класса во время выполнения для Obj-C?
Среда выполнения Objc предоставляет функцию class_addMethod() , позволяющую попробовать добавить метод экземпляра во время выполнения. Есть ли какая-нибудь функция, которая могла бы попытаться добавить метод класса в класс во время выполнения?...
199 просмотров
schedule 11.05.2024

Как создаются объекты NSBlock?
Я предварю этот вопрос, заявив, что то, что я собираюсь задать, предназначено только для образовательных и, возможно, отладочных целей. Как блочные объекты создаются внутри среды выполнения Objective C? Я вижу иерархию классов, представляющих...
3349 просмотров

RestKit + Google Maps iOS SDK через какао-бобы странное поведение
При использовании инфраструктуры RestKit с Google Maps iOS SDK я получаю сообщение на консоли «I restkit: RKLog.m: 33 Инициализировано ведение журнала RestKit ...» при запуске приложения. В случае использования их по отдельности у меня нет такого...
255 просмотров

Получить отправителя сообщения для NSInvocation
Как мне получить отправителя сообщения, заключенного в NSInvocation? Я нахожусь в объекте, и я только что получил вызов в моем forwardInvocation: . Есть ли способ узнать, кто отправил мне сообщение в первую очередь?
133 просмотров

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 просмотров

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 просмотров