objective-c-runtime
TL; DR: Как проверить, что селектор с заданным именем был зарегистрирован, фактически не регистрируя его? Спасибо! Привет, у меня есть приложение Objective-C и куча NSObjects, которые экспортируются в состояние Lua через простую прокси-библиотеку, написанную в objc. Все вызовы Lua-стороны таковы: export...
Можно ли получить список указателей на указатели на объект objective c? Что-то вроде id **pointers(id object, int *out_count) Довольно безумно, да? =) ...
У меня есть следующий код, где я получаю указатель на метод экземпляра: #import <Foundation/Foundation.h> #import <objc/runtime.h> @interface TestClass : NSObject @end @implementation TestClass - (void)someMethod { // This is instance method, it's okay NSLog(@"Hello from some method!"); } @e...
Почему компилятор Objective-C должен знать во время компиляции сигнатуру методов, которые будут вызываться для объектов, когда он может отложить это до времени выполнения (т. е. динамическое связывание)? Например, если я пишу [foo someMethod], то зачем компилятору знать сигнатуру someMethod? ...
Я знаю, что OBJC_ASSOCIATION_ASSIGN существует, но обнуляет ли он ссылку, если целевой объект освобожден? Или это как в старые времена, когда эта ссылка должна быть сведена к нулю, или мы рискуем получить плохой доступ позже?...
Я где-то читал, что при использовании блоков @autoreleasepool { } с включенной дугой компилятор генерирует код для получения функций objc_autoreleasePoolPush() и objc_autoreleasePoolPop(), вызываемых в начале и в конце блока соответственно. Однако, когда я компилирую файл Objective-C с блоками @autoreleasepo...
Я читал здесь Узнать C До Objective-C? обычно я затем заменяю некоторый код Obj-C чистым кодом C (в конце концов, вы можете смешивать их столько, сколько хотите, содержимое метода Obj-C может быть полностью чистым кодом C) Это правда? возможно ли создать приложение для iPhone исключительно на языке пр...
Я видел несколько стратегий для объявления полу-частных методов в С, но, похоже, нет способа сделать действительно частный метод. Я принимаю это. Но почему это так? Каждое объяснение, которое я по существу говорю: "вы не можете этого сделать, но вот близкое приближение." есть ряд ключевых слов, применяемы...
я протестировал некоторые ISA swizzling с Swift и обнаружил, что он работает только тогда, когда NSObject является суперклассом (напрямую или дальше) или с помощью украшения "@objc". В противном случае он будет следовать статическому и vtable - dispatch стилю, например C++. Это нормально, что для определени...