Вопросы с тегом «automatic-ref-counting»

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

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

19
executeSelector может вызвать утечку, потому что его селектор неизвестен
Я получаю следующее предупреждение от компилятора ARC: "performSelector may cause a leak because its selector is unknown". Вот что я делаю: [_controller performSelector:NSSelectorFromString(@"someMethod")]; Почему я получаю это предупреждение? Я понимаю, что компилятор не может проверить, существует ли селектор или нет, но почему это вызвало бы утечку? И как я могу …

11
Должен ли IBOutlets быть сильным или слабым в ARC?
Я разрабатываю исключительно для iOS 5 с использованием ARC. Должен IBOutletсUIView s (и подклассы) быть strongили weak? Последующий: @property (nonatomic, weak) IBOutlet UIButton *button; Избавился бы от всего этого: - (void)viewDidUnload { // ... self.button = nil; // ... } Есть ли проблемы с этим? Шаблоны используются strongтак же, как …

9
Должны ли мы всегда использовать [unowned self] внутри замыкания в Swift
На сессии WWDC 2014 403 Intermediate Swift и стенограмма был следующий слайд В этом случае оратор сказал, что если мы не будем [unowned self]там пользоваться, это приведет к утечке памяти. Означает ли это, что мы всегда должны использовать [unowned self]внутри закрытия? В строке 64 файла ViewController.swift приложения Swift Weather я …

8
Objective-C ARC: сильный против удержания и слабый против присвоения
Есть два новых атрибута управления памятью для свойств, представленных ARC, strongи weak. Кроме того copy, что, очевидно, является чем-то совершенно другим, есть ли различия между strongпротив retainи weakпротив assign? Насколько я понимаю, единственное отличие здесь в том, что он weakбудет назначать nilуказатель, а assignне будет, что означает, что программа завершится …


2
Почему Apple рекомендует использовать dispatch_once для реализации одноэлементного шаблона в ARC?
Какова точная причина для использования dispatch_once в средстве доступа к экземпляру единого экземпляра в ARC? + (MyClass *)sharedInstance { // Static local predicate must be initialized to 0 static MyClass *sharedInstance = nil; static dispatch_once_t onceToken = 0; dispatch_once(&onceToken, ^{ sharedInstance = [[MyClass alloc] init]; // Do any other initialisation …

4
Объявленные в Objective-C атрибуты @property (неатомные, копируемые, сильные, слабые)
Может кто - нибудь объяснить мне подробно , когда я должен использовать каждый атрибут: nonatomic, copy, strong, weak, и так далее, для заявленного имущества, и объяснить , что каждый делает? Какой-то пример тоже подойдет. Я использую ARC.

8
При преобразовании проекта для использования ARC, что означает «случай переключения находится в защищенной области»?
При преобразовании проекта для использования ARC, что означает «случай переключения находится в защищенной области»? Я преобразовываю проект для использования ARC, используя Xcode 4 Edit -> Refactor -> Convert to Objective-C ARC ... Одна из ошибок, которые я получаю, это «случай переключения находится в защищенной области» на «некоторых» из переключателей в …

10
Семантическая проблема: синтезированный метод получения свойства следует соглашению об именовании Какао для возврата «собственных» объектов
В настоящее время я использую iOS 5 SDK, пытаясь разработать свое приложение. Я пытаюсь создать свойство NSString, а затем синтезировать его в файле .m (я делал это раньше без проблем). Теперь я столкнулся с этим: «Семантическая проблема: синтезированный метод получения свойства следует соглашению об именовании Какао для возврата« принадлежащих »объектов». …

6
Всегда передавать слабую ссылку на себя в блок в ARC?
Я немного запутался в использовании блока в Objective-C. В настоящее время я использую ARC, и в моем приложении довольно много блоков, и в настоящее время я всегда ссылаюсь на selfнего вместо его слабой ссылки. Может ли это быть причиной того, что эти блоки сохранили selfи не допустили их освобождения? Вопрос …

7
В чем разница между слабой ссылкой и неподтвержденной ссылкой?
Свифт имеет: Сильные Ссылки Слабые ссылки Неизвестные ссылки Чем неподходящая ссылка отличается от слабой ссылки? Когда безопасно использовать ссылку без ссылки? Являются ли неизвестные ссылки угрозой безопасности, такой как висячие указатели в C / C ++?

5
Какие утечки не предотвращает или минимизирует автоматический подсчет ссылок в Objective-C?
На платформах Mac и iOS утечки памяти часто вызваны невыпущенными указателями. Традиционно всегда было крайне важно проверить ваши ресурсы, копии и хранилища, чтобы убедиться, что у каждого есть соответствующее сообщение о выпуске. Набор инструментов, который идет с Xcode 4.2, вводит автоматический подсчет ссылок (ARC) с последней версией компилятора LLVM , …

8
Как избежать захвата себя в блоках при реализации API?
У меня есть работающее приложение, и я работаю над его преобразованием в ARC в Xcode 4.2. Одно из предупреждений перед проверкой включает в себя selfсильный захват в блоке, приводящем к циклу сохранения. Я сделал простой пример кода, чтобы проиллюстрировать проблему. Мне кажется, я понимаю, что это значит, но я не …

1
Пользовательские сделка и ARC (Objective-C)
В моем маленьком приложении для iPad есть функция «переключения языка», в которой используется наблюдатель. Каждый контроллер представления регистрируется во время своего наблюдателя viewDidLoad:. - (void)viewDidLoad { [super viewDidLoad]; [observer registerObject:self]; } Когда пользователь нажимает кнопку «изменить язык», новый язык сохраняется в моей модели, и наблюдатель получает уведомление и вызывает updateUi:селектор …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.