self?
в коде:
У ViewController есть:
- private var colorPicker = UIColorPickerViewController()
- private lazy var deleteButton и, при нажатии, срабатывает метод ниже (меняет цвет у пары свойств внутри контроллера на выбранные):
func colorPickerViewControllerDidFinish(_ viewController: UIColorPickerViewController) {
colorPicker.dismiss(animated: true) { [weak self] in
guard let self else {return}
self.textTitleHabit.textColor = self.colorPicker.selectedColor
self.pickerButton.tintColor = self.colorPicker.selectedColor
self.textTitleHabit.font = UIFont(name: "SFProText-Semibold", size: 17)
Как я понимаю, НЕ нужен weak, потому что мы не сохраняем completion handler во VC и удержание да, будет, НО КРАТКОВРЕМЕННОЕ, и когда закончится метод dismiss, то ссылка на self пропадет. Верно понимаю?
Если не так - объясните плиз
Научись рисовать графы обьектов, запомнишь механизм один раз и навсегда. https://swiftbook.ru/post/tutorials/memory-management-swift5/
@bdobretsov_b отражение на рис соответствует?
Обсуждают сегодня