Необходимо объявить [weak self] в UIView.animate(withDuration:)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Необходимо объявить [weak self] в UIView.animate(withDuration:)

Сообщение Anonymous »

В 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»