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

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

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

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

1258
executeSelector может вызвать утечку, потому что его селектор неизвестен

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

551
Должен ли IBOutlets быть сильным или слабым в ARC?

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

467
Должны ли мы всегда использовать [unowned self] внутри замыкания в Swift

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

367
Objective-C ARC: сильный против удержания и слабый против присвоения

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

305
Почему 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,...

289
Объявленные в Objective-C атрибуты @property (неатомные, копируемые, сильные, слабые)

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

283
При преобразовании проекта для использования ARC, что означает «случай переключения находится в защищенной области»?

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

283
Семантическая проблема: синтезированный метод получения свойства следует соглашению об именовании Какао для возврата «собственных» объектов

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

252
Всегда передавать слабую ссылку на себя в блок в ARC?

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

240
В чем разница между слабой ссылкой и неподтвержденной ссылкой?

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

235
Какие утечки не предотвращает или минимизирует автоматический подсчет ссылок в Objective-C?

На платформах Mac и iOS утечки памяти часто вызваны невыпущенными указателями. Традиционно всегда было крайне важно проверить ваши ресурсы, копии и хранилища, чтобы убедиться, что у каждого есть соответствующее сообщение о выпуске. Набор инструментов, который идет с Xcode 4.2, вводит автоматический...

222
Как избежать захвата себя в блоках при реализации API?

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

208
Пользовательские сделка и ARC (Objective-C)

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

207
сильный захват себя в этом блоке может привести к циклу сохранения

Как я могу избежать этого предупреждения в xcode. Вот фрагмент кода: [player(AVPlayer object) addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(0.1, 100) queue:nil usingBlock:^(CMTime time) { current+=1; if(current==60) { min+=(current/60); current = 0; } [timerDisp(UILabel)...

206
Как работает новый механизм автоматического подсчета ссылок?

Может кто-нибудь кратко объяснить мне, как работает ARC? Я знаю, что это отличается от Сборки мусора, но мне просто интересно, как именно это работает. Кроме того, если ARC делает то, что делает GC, не снижая производительность, то почему Java использует GC? Почему он не использует...

191
Почему @autoreleasepool все еще нужен для ARC?

По большей части с ARC (Автоматический подсчет ссылок) нам вообще не нужно думать об управлении памятью с объектами Objective-C. Больше не разрешено создавать NSAutoreleasePools, однако есть новый синтаксис: @autoreleasepool { … } Мой вопрос: зачем мне это нужно, когда я не должен вручную выпускать...

183
Отключить автоматический подсчет ссылок для некоторых файлов

Я скачал iOS 5 SDK и обнаружил, что ARC - отличная особенность нового компилятора Apple. В настоящее время многие сторонние платформы не поддерживают ARC. Могу ли я использовать ARC для моего нового кода и оставить текущий код сохранения / выпуска без изменений? Конвертер ARC здесь не работает,...