185 похожих чатов

Всем привет! private lazy var myButton: UIButton = {

let button = UIButton(type: .system)
button.addTarget(self, action: #selector(myAction), for: .touchUpInside)
return button
}()
Вопрос: стоит ли делать "lazy var" для того что бы добавить таргет или делегата? Или лучше всетаки сделать let и добавлять таргеты и делегаты где то во вьюдидлоад?

8 ответов

17 просмотров

Так таргет можно добавить и в lazy var. Единственное отличие в выборе - бери lazy если собираешься работать со свойствами своего класса внутри замыкания lazy var)

let ты тут не сделаешь потому что self еще не available

andreysavie Rybalkin
Так таргет можно добавить и в lazy var. Единственн...

let с замыканиями можно везде где нет обращений к свойствам или самому объекту, который на тот момент еще не создан. Тогда только lazy var, а еще лучше private(set) lazy var.

Т-М Автор вопроса
🐈
let ты тут не сделаешь потому что self еще не avai...

Спасибо, это понятно. Имею ввиду насколько это верно делать lazy var для того что бы добавить таргет там же а не во вьюдидлоад

Т М
Спасибо, это понятно. Имею ввиду насколько это вер...

читал на стеке что вы общемто норм, делает код понятнее, разгружает viewDidLoad

Т-М Автор вопроса
🐈
читал на стеке что вы общемто норм, делает код пон...

да вот я про то же мне бы хотелось там же таргет добавлять и вот решил задать вопрос

Т М
Спасибо, это понятно. Имею ввиду насколько это вер...

Лучше во viewDidLoad не пихать такой функционал, он там будет излишним Все настойки, касающиеся конкретного объекта, должны храниться в его замыкании) А если надо что-то изменить - то создавать для этого конкретные методы )

Т М
да вот я про то же мне бы хотелось там же таргет д...

ну тут два варианта- либо lazy var либо во viewDidLoad. Имхо (я новичок в свифт так что мон мнение такое себе), ленивыми надо делать тяжелые объекты, к которым данные элементы UI не относятся. Тут же будет выигрыш за счет оптимизации let - я бы все внутреннюю конфигурацию вынес в лет, а обращения к свойствам в функцию вызываемую из viewDidLoad

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Коллеги, как получить PId для собственного процесса из под линукса?
Роман Лях (rgreat)
6
Карта сайта