Описание тега objective-c-runtime

Среда выполнения Objective-C - это библиотека поддержки среды выполнения, предоставляемая с реализацией языка Objective-C. Его API позволяет динамически создавать и настраивать классы во время выполнения, а также анализировать существующие классы, методы, свойства и реализации методов.
2 ответа

Objective-C - есть ли способ использовать какой-либо класс (UIView) в качестве протокола для другого объекта?

Я экспериментировал в Objective-C с некоторыми довольно специфическими концепциями. Ниже приведен пример: по сути, у меня есть объект с именем "theFilter", который должен получить все сообщения плюс "Some_More_Messages" от другого объекта "theSender…
31 июл '14 в 06:25
1 ответ

Как среда выполнения Objective C может узнать, жив ли объект со слабой ссылкой?

С появлением ARC стали доступны некоторые новые функции, позволяющие разработчикам поиграться со объектами со слабыми ссылками. id objc_loadWeak(id *location) это один из них. Эта функция получает соответствующий параметр в определенном месте в памя…
1 ответ

Почему поле isa объекта Objective C имеет 1 смещение с указателем класса?

Я пытаюсь использовать следующий код, чтобы понять структуру C NSObject. Сначала я печатаю его структуру структуры, используя NSData, затем я печатаю указатель класса напрямую, используя [NSObject class], id obj = [NSObject new]; long nsSize = class…
0 ответов

Objective-c во время выполнения перечисляет все методы класса, включая Swizzled

Меня интересуют в основном изворотливые методы. Я пытался это Есть ли способ перечислить все методы Swizzled в приложении для iOS? но зависимость не работает. Есть ли способ грубой силы просто перечислить все классы и методы для сравнения?
1 ответ

Можно ли сделать все возможные свойства @dynamic в Objective-C?

У меня есть вопрос, похожий на этот, но мне любопытно узнать, есть ли какой-либо способ (флаг компилятора, @-directive и т. Д.), Который позволяет классу иметь все возможные свойства, рассматриваемые как @dynamic во время компиляции, чтобы вы могли …
13 мар '15 в 17:58
2 ответа

Использование class_getInstanceMethod - где метод реализован в иерархии классов?

Можно ли найти где в иерархии классов метод, найденный class_getInstanceMethod идет от? Например, скажем, класс А реализует myMethod. Теперь скажите, что я подкласс класса А в классе А1. Если я позвоню class_getInstanceMethod(ClassA1, myMethod)Можно…
09 апр '13 в 18:20
3 ответа

1mpl3m3nt векторный стек и вывод сохраненного и подсчитанного элемента

Вот мой код: В настоящее время у меня есть все, что пользователь вводит в стек и сортирует, но я не знаю, как и куда идти дальше. Я пытался решить ее с помощью переменной count, но мое решение не является правильным (оно должно вывести "2 dog" тольк…
22 янв '17 в 09:05
1 ответ

Зачем нужна среда выполнения Objective C, если appl скомпилирован как нативный

Новое в Swift/Objective-c, пришедшее из Java, C# и C++. Насколько я понимаю, среда выполнения необходима, если код не является нативным, как в случае Java или C#, генерируется промежуточный код, который во время выполнения требует среды, которая пер…
19 апр '15 в 03:23
2 ответа

Objective-C связанные объекты утечки под ARC

Я столкнулся со странным objc_setAssociatedObject поведение под ARC. Рассмотрим следующий код: static char ASSOC_KEY; @interface DeallocTester : NSObject @end @implementation DeallocTester - (void) dealloc { NSLog(@"DeallocTester deallocated"); //ob…
0 ответов

Динамическое изменение типа TextField после установки через Xib

У меня есть UITableViewCell подкласс (CustomTableViewCell) который имеет настраиваемое текстовое поле CustomTextField указано в файле XIB. Я сейчас хотел бы использовать CustomTableViewCell из таблицы, которая требует текстовое поле даты. Тем не мен…
19 окт '18 в 04:25
1 ответ

Как объективная среда выполнения C ищет определенные сообщения?

Я новичок в цели C и из C/C++ фона, я стараюсь понять, насколько динамична цель C. Программирование с Objective-C Стр. 38 Рассмотрим следующий код: id someObject = @"Hello, World!"; [someObject removeAllObjects]; В этом случае, someObject будет указ…
11 апр '14 в 07:57
1 ответ

Objective-C Runtime изменяет свойство readonly инициализированного объекта

У меня есть проблема, я не могу изменить frame.size.width в сторонних lib. Не удалось найти нормальное решение для изменения ширины, поэтому я решил выполнить objc/runtime. У меня есть ViewController и его свойство DTAttributedTextView * v. @interfa…
10 авг '16 в 12:40
1 ответ

Объекты GCD как объекты Objective-C

Говорят, что объекты Grand Central Dispatch ведут себя как объекты Objective-C при компиляции с помощью компилятора Objective-C. Но это немного неясно для меня. Объекты Objective C на самом деле являются структурами, которые имеют, по крайней мере, …
1 ответ

Попытка вызвать селектор статической функции в Swift

Я пытаюсь добиться следующего, но сталкиваюсь с проблемами:-) создайте протокол, который UIViewController и подкласс UIView могут принять, который содержит один статический метод, который будет вызван для этого класса (вызовите егоconfiguration Зате…
27 ноя '18 в 15:00
1 ответ

Какие цифры в строке кодирования типа метода ObjC?

Я читаю статью Apple о строках кодирования типов во время выполнения Objective-C, и некоторые методы имеют числа в строках типов. Что означают цифры v12@0:4@8 имею в виду?
8 ответов

Интерпретировать скрипты Objective C во время выполнения на iPhone?

Есть ли способ загрузить целевой скрипт c во время выполнения и запустить его для классов / методов / объектов / функций в текущем приложении для iPhone? ОСНОВНОЕ ПРИМЕЧАНИЕ: Основная причина, по которой я хотел бы сделать это, - позволить мне быстр…
1 ответ

Ошибка селектора при использовании ARM в сборе для достижения цели-c Метод

Я хочу использовать сборку ARM для достижения метода target-c, например: NSLog(@"%@",objc_msgSend((id)objc_getClass("NSString"),sel_registerName("stringWithUTF8String:"),"abcdefg")); поэтому я написал такую ​​программу сборки: .data .align 4 output_…
07 дек '16 в 10:29
1 ответ

RestKit + Google Maps iOS SDK через какао-бобы

При использовании фреймворка RestKit с Google Maps iOS SDK на консоли появляется сообщение "Restkit:RKLog.m:33 RestKit logging initialized..." при запуске приложения. В случае использования их отдельно, у меня нет такого сообщения. Я получаю такое с…
2 ответа

Понять Objective-C время выполнения

Я читал о том, как работает Objective-C, поэтому, пожалуйста, прокомментируйте, если я что-то неправильно понял. Допустим, у меня есть класс под названием Person. Этот класс может иметь или не иметь метод getSex. Person *p = [[Person alloc]init]; Зд…
20 фев '12 в 19:21
3 ответа

@try@ перехватить блок, не перехватывая внутри исключения

Хорошо, я никогда не видел этого раньше. Вот мой код: @try { [self.avPlayer removeObserver:self forKeyPath:@"status"]; [self.avPlayer removeObserver:self forKeyPath:@"rate"]; } @catch (NSException *exception) { } @finally { } Вы можете ясно видеть, …