Описание тега automatic-ref-counting

Автоматический подсчет ссылок (ARC) - это функция компилятора, которая обеспечивает автоматическое управление памятью объектов Objective-C и Swift.
1 ответ

Может ли ARC управлять объектами Core Foundation без мостов?

Если у меня есть базовый базовый объект с бесплатными мостами, могу ли я безопасно передать право собственности на ARC или эта привилегия зарезервирована для типов с бесплатными мостами? Например: - (id)myBundle { CFBundleRef b = CFBundleCreate(NULL…
13 май '15 в 18:03
1 ответ

Сильные свойства и управление памятью

Скажем, у нас есть контроллер A, и у него есть два сильных свойства B и C. У B и C есть один общий тип свойства D. Соотношение выглядит следующим образом: Если бы я снял связь между A и C, установив для свойства C в A значение nil, будет ли освобожд…
04 июл '13 в 12:41
1 ответ

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

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

Objective-C альтернатива C struct?

В разделе "Библиотека разработчика Mac" "Переход к примечаниям к выпуску ARC" говорится: "вместо того, чтобы использовать структуру, вы можете создать класс Objective-C для управления данными вместо этого", но не будем подробно останавливаться на эт…
08 июл '13 в 00:02
1 ответ

Приложение iOS работает медленнее после закрытия ModalViewController

Я разрабатываю приложение для iOS, которое должно много работать над модальным VC. (Изображения и т. Д.). Это приводит к большому количеству выделенной памяти. Что нормально, представляя представление. Но после закрытия View у меня все еще есть эта …
3 ответа

Как сделать GDATAXML совместимым с ARC в XCODE 4.2?

Я попытался автоматически преобразовать GDATAXML Lib в ARC с помощью рефрактора -> Преобразовать в ARC Objective-C в XCode 4.2. Преобразователь ARC выдает следующую ошибку: result = [NSString stringWithUTF8String:(const char *) chars]; if (cacheDict…
16 янв '12 в 01:49
1 ответ

Нужно ли ссылаться на себя со слабым в блоке AFNetworkingReachability

Как гласит заголовок: нужно ли делать слабую ссылку на себя, при вызове функций в блоке AFNetworkingReachability, как это? __weak myViewController* weakSelf = self; [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFN…
2 ответа

Как разрешить сохранение цикла в блоке для void*?

У меня есть статическая библиотека C++, которая связана в моем приложении для iOS. У меня есть void* для доступа к некоторым действиям, предоставляемым библиотекой, из моего кода. Проблема в том, что я активировал ARC в своем проекте, и он кричит, ч…
16 авг '12 в 09:01
1 ответ

Предупреждение памяти и сбой из-за UIImageView с раскадровкой

У меня есть приложение каталога на IOS 6. Так что есть некоторые UIImageView в каждом представлении. Я думаю, когда я перехожу к другим представлениям, старые изображения не публикуются. Итак, мой настоящий мем. становится 300 МБ и виртуальной памят…
15 окт '12 в 11:48
1 ответ

Включение заголовков ARC в не-ARC проект

Я сделал статическую библиотеку, которая была закодирована с использованием ARC. Я планирую распространять эту библиотеку для использования другими людьми. Я понимаю, что ничего не нужно делать для включения статической библиотеки ARC в не-ARC проек…
2 ответа

Различное поведение блоков между конфигурацией отладки и выпуска

Моя программа работает отлично. Уверяю вас своей жизнью, 0 ошибок. С гордостью я попытался упаковать приложение в виде файла.ipa для специального распространения на своем бета-тестере с помощью TestFlight. Программа не работает. Анимации, которые д…
2 ответа

MKAnnotation не показывает выноску на MKMapView

У меня есть MKMapView и я добавляю аннотации вот так: for (NSDictionary *tmp in response) { NSDictionary *places = [tmp objectForKey:@"place"]; NSDictionary *location = [places objectForKey:@"location"]; NSLog(@"long: %@ Lat:%@",[location objectForK…
2 ответа

Когда контроллер представления уволен, он должен очистить память?

Я хотел бы узнать об управлении памятью в Objective-C, что мне не так просто, потому что я довольно новичок в Objective-C и ARC, и я в основном привык к языкам сценариев, для которых мне не приходится иметь дело с этим много (или не совсем) с управл…
4 ответа

ARC __block и __weak

Допустим, я пытаюсь получить доступ self из блока: [someObject successBlock:^(NSArray *result) { [self someSuccessMethod]; } failure:^(NSString *errorMessage, int status) { [self someFailureMethod]; }]; Я понимаю, что это создает цикл сохранения и ч…
23 июл '13 в 14:11
2 ответа

UINavigation толкает новый корневой контроллер

Я пытаюсь вставить новый корневой контроллер в стек навигации, но использую боковое меню. Мой делегат приложения имеет следующее: welcomeViewController = [[MyWelcomeViewController alloc] initWithNibName:@"MyWelcomeViewController" bundle:nil]; navCon…
2 ответа

Возможно передать [self anyFunction] в блоках без __weak объекта (iOS 5 + ARC)

Можно ли передать [self anyFunction] в блоки без __weak-объекта от self? В качестве примера это допустимый код из System Framework: [UIView animateWithDuration:0.8 animations:^{ //Do animationStuff } completion:^(BOOL finished) { [self anyFunction];…
4 ответа

Подкласс NSWindowController не будет выпущен в ARC

Я сталкиваюсь со странной ситуацией с NSWindowController. Я хочу, чтобы оконный контроллер был выпущен, но это не так. Кажется, это не соответствует моим ожиданиям в отношении поведения ARC. Я создал простой подкласс оконного контроллера, PlainWindo…
2 ответа

iOS 5 AVAudioPlayer - как правильно остановить воспроизведение?

Я использую iOS 5 с включенной ARC. Я проигрываю запись, связанную с определенным видом, когда он отображается. Когда пользователь меняет представление, воспроизведение останавливается. Я использовал NSNotification для вызова метода -stopPlayback, к…
3 ответа

Сохранить ссылку на объект локальной переменной в ARC

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

Как исправить базовый базовый объект с удержанием +1 (ARC)?

Вот мой метод: CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(aSampleBuffer); CIImage *ciImage = [CIImage imageWithCVPixelBuffer:imageBuffer]; CIContext *context = [CIContext contextWithOptions:nil]; CGImageRef myImage = [context create…
05 июл '13 в 10:36