Почему блокировка должна быть скопирована и не сохранена? Когда вам не нужно копировать блок?
Почему блокировка должна быть скопирована и не сохранена? В чем разница между двумя под капотом? При каких условиях вам не нужно копировать блок, если он есть?
- Цвет фона UIView Всегда черный
- Библиотека шрифтов для iOS
- Ошибка тайной консоли с IOHIDFamily
- Как создается файл .dSYM?
- Travis-CI с: ОШИБКА: не удается найти схемы
- iOS10 + Градиентная остановка
- Свойство alertTitle для UILocalNotification не работает
- Что мне не хватает, чтобы получить приложение iOS для iCloud?
Обычно, когда вы назначаете экземпляр класса, он переходит в кучу и держится до тех пор, пока не будет освобожден. Но если вы объявите блок с текстом, он пойдет в стек. Когда кадр стека уходит, так же как и экземпляр блока – если вы его не скопируете, что создает экземпляр-резидентный кусок. В принципе, если вы хотите продолжить использование блока после того, как будет вставлен фрейм стека, вам нужно сделать копию где-нибудь.
Блоки создаются в стеке и уничтожаются, когда выполнение достигает конца текущей области. Чтобы этого не произошло, вы должны скопировать их, что приведет к их копированию в кучу. Обычно вы копируете блок, который хотите называть его в какой-то более поздний момент, за пределами области, в которой он был создан.