Описание тега manual-retain-release

Manual Retain Release (as opposed to ARC) is the classic way to manage object lifetime in Objective-C.
1 ответ

Различия в сообщениях о выпуске и назначении IOS для nsstring

Я проходил через концепции управления памятью. Я создал один string1 и назначить это string1 в другой string2сейчас выпускаю string1, Вот string2 сохранить счетчик 1, но на NSLog Заявление дает EXC Bad доступ. Когда я назначаю строку NSString * stri…
1 ответ

Объект Objective-C не уничтожается после сообщения о выпуске

Меня смутил такой выходной результат этой программы. #import <Foundation/Foundation.h> #import "Human.h" int main(int argc, const char * argv[]) { Human *human = [Human new]; [human release]; [human sayHello]; return 0; } Сам класс @implementa…
18 авг '18 в 16:47
1 ответ

NSDate выбрасывает BAD_EXCESS для чего?

У меня ниже. @interface MyViewController () { NSDate *myCurrentDate; } @implementation MyViewController -(void)viewDidLoad { [super viewDidLoad]; myCurrentDate = [NSDate date]; } - (IBAction) prevAction:(id)sender { NSLog(@"myCurrentDate===%@", myCu…
25 авг '15 в 07:53
3 ответа

Приложение зависает в iOS7, но не в 8 и 9 из-за автоматического выпуска NSDictionary

+ (NSString *)getValueforLocale:(NSString*) i18nkey :(NSString*)locale{ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); NSLog(@"paths are : %@",paths); NSString *libraryDirectory = [paths objectAtInde…
0 ответов

Опасно ли создавать локальную очередь операций и добавлять в нее операции?

По некоторым причинам очередь операций создается локально и передается на закрытие. Это проблема? Что если он будет выпущен? Должен ли я хранить его в "глобальной", "статической" переменной, сохранить его? - (void)method { NSOperationQueue *oq = [NS…
3 ответа

Нужно выпустить дважды?

Кажется, я нигде не могу найти ответ. Я использую ручное управление памятью при разработке Objective-C для iOS. Я написал вспомогательную функцию для получения UIColor из шестнадцатеричной строки. В нем возвращается [[UIColor alloc] initWithRed:... …
0 ответов

Как отключить ARC для некоторых файлов для ВСЕХ целей в проекте?

Я проверил этот тикет, который работает хорошо (добавив исходный код компиляции, нажав Enter на клавиатуре и добавив "-fno-objc-arc"), но моя проблема в том, что в моих проектах около 80 целей. Я хотел бы знать, есть ли способ исключить файлы для вс…
4 ответа

Как я могу безопасно переключаться между методами ARC и MRC без необходимости сохранять / освобождать вызовы?

У меня есть класс ARC со следующим кодом: [object doStuffWithObject:otherObject]; object"s -doStuffWithObject: Метод скомпилирован с ARC, и это: - (void)doStuffWithObject:(id)otherObject { DoStuffHelper(object, otherObject); } DoStuffHelper, функция…
2 ответа

Подсчет ссылок или сохранение количества (управление памятью)

Приведенный ниже код работает нормально, вы можете запустить его в своей системе для подтверждения. Мой вопрос, как вы можете видеть, метод dealloc вызывается только тогда, когда счет сохранения достигает нуля, то есть освобождается память для объек…
4 ответа

Есть ли быстрое правило, чтобы узнать, когда выпускать переменные Objective-C?

Существуют ли практические правила при работе с Objective-C, которые помогли бы мне понять, когда самое подходящее время для выпуска переменных?
18 ответов

Как я могу отключить ARC для одного файла в проекте?

Я успешно использую ARC в своем проекте. Однако я столкнулся с несколькими файлами (например, в модульных тестах и ​​фиктивных объектах), где правила ARC сейчас немного более хрупки. Я помню, что слышал, что был способ отключить ARC для каждого файл…
1 ответ

Включение в ARC в xamarin

Большинство инструментов безопасности и проникновения сообщают, если ARC не включен. fobjc-arc flag is not Found Насколько я знаю, мы не можем сделать это в xamarin, потому что здесь нет настроек сборки. Этот флаг можно установить только в настройка…
0 ответов

Protobuf отсутствует суффикс 'list' в сгенерированном Objective-C коде

Я использую Protobuf 2.6.1 с этим плагином, который я скомпилировал сам. В проекте я работаю с Protobuf, модели уже присутствуют. Я попытался восстановить файлы с помощью следующей команды: protoc --plugin = / path / to / the / compiled / plugin / o…
1 ответ

Сбой назначения элемента класса NSStringto

Я работаю над приложением C++ и Objective-C++. Там у меня есть класс C++, который вызывает класс Objective-C++. В заголовке C++ я создаю void * следующим образом: void *m_self; Затем в конструкторе я создаю экземпляр target-C++ следующим образом: m_…
1 ответ

Использование неправильно выровненного указателя с разыменованием std::shared_ptr<NSDate>

Я работаю в устаревшей кодовой базе с большим количеством Objective-C++, написанным с использованием ручного сохранения / выпуска. Память управляется с использованием большого количества C++ std::shared_ptr&lt;NSMyCoolObjectiveCPointer&gt;, с подход…
1 ответ

Сбой NSOutlineView в версиях Mac OS ниже 10.12, поскольку для параметра "strongReferencesItems" по умолчанию установлено значение "false"

В моем приложении есть схематический вид, который часто получает обновления с сервера. Всякий раз, когда я получаю обновление, я перезагружаю вид схемы. Я выполняю несколько операций с контуром одновременно, например, показываю несколько кнопок при …
1 ответ

Как воспроизвести редкий сбой "_CFAutoReleasePoolPop"?

Я пытаюсь воспроизвести такой сбой (а): В моем проекте есть ручной подсчет ссылок. Кроме того, здесь много многопоточности. Некоторые свойства не являются потокобезопасными.:(У меня есть только одно предположение о причине этого сбоя: какой-то объек…
1 ответ

Возврат CGEvent моего собственного создания в NSEventTap

Документация для CGEventTapCallBack здесь говорится: CGEventRef событие Входящее событие. Это событие принадлежит вызывающему, и вам не нужно его освобождать. Что произойдет, если я захочу съесть мероприятие и вернуться NULL? Нужно ли мнеCFRelease э…
07 ноя '19 в 22:22
1 ответ

iOS: В чем разница между ARC и MRC, когда для объекта установлено значение nil?

В MRC в iOS, когда для объекта установлено значение nil, myObject = nil; Сообщается, что произойдет утечка памяти, поскольку myObject не будет указывать на адрес памяти. Память, на которую он указывал раньше, будет потеряна. Итак, нам нужно освободи…
0 ответов

Swift: Как ARC работает с анонимными объектами?

ARC появился много лет назад, чтобы заменить болезненный MRC, но поскольку ARC - это всего лишь метод компиляции, его волшебство происходит во время компиляции. Итак, в основном то, что он делает - автоматически вставляет retain и releaseзвонит, где…