В iOS некоторые контроллеры представлений не освобождаются после их закрытия.
После поиска в Интернете я обнаружил, что делегаты должны быть установлены как «слабые», а в замыканиях следует использовать [weak self] перед доступом к переменной self.
После применения этого решения мой контроллер представления теперь освобождается должным образом после его закрытия.
Я есть вопрос: нужно ли мне использовать [weak self] в блоке анимации?
Я добавил оба фрагмента кода ниже; какой из них мне использовать?
// Without [weak self]
UIView.animate(withDuration: 0.25) {
self.loaderView.alpha = 0
} completion: { isFinish in
self.loaderView.isHidden = true
}
// With [weak self]
UIView.animate(withDuration: 0.25) {[weak self] in
guard let self = self else { return }
self.loaderView.alpha = 0
} completion: { [weak self] isFinish in
guard let self = self else { return }
self.loaderView.isHidden = true
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... thduration
Необходимо объявить [weak self] в UIView.animate(withDuration:) ⇐ IOS
Программируем под IOS
-
Anonymous
1728102852
Anonymous
В iOS некоторые контроллеры представлений не освобождаются после их закрытия.
После поиска в Интернете я обнаружил, что делегаты должны быть установлены как «слабые», а в замыканиях следует использовать [weak self] перед доступом к переменной self.
После применения этого решения мой контроллер представления теперь освобождается должным образом после его закрытия.
[b]Я есть вопрос: нужно ли мне использовать [weak self] в блоке анимации?[/b]
[b]Я добавил оба фрагмента кода ниже; какой из них мне использовать?[/b]
// Without [weak self]
UIView.animate(withDuration: 0.25) {
self.loaderView.alpha = 0
} completion: { isFinish in
self.loaderView.isHidden = true
}
// With [weak self]
UIView.animate(withDuration: 0.25) {[weak self] in
guard let self = self else { return }
self.loaderView.alpha = 0
} completion: { [weak self] isFinish in
guard let self = self else { return }
self.loaderView.isHidden = true
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79056324/is-need-to-declare-weak-self-in-uiview-animatewithduration[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия