Comments 5
Привет. На всякий случай: задавать констрейнты в ините у экрана опасно, весь экран может отвалиться, то есть дебаггер его покажет, а пользователь его не увидит (видел такое в рабочем проекте лично). Нужно хотя бы во viewDidLoad перенести настройку констрейнтов
Привет. Наверное не совсем тема статьи, но почему опасно? В init с констрейнтами могут быть проблемы в случае если иерархия вьюх грузится из сторибордов и ксибов. Тут я их не использую, все вьюхи создаются программно и добавляются в иерархию перед применением констрейнтов
В голову пришел один недостаток подобного варианта: view преждевременно выгружается в память, и в случае, если контроллер добавляется в иерархию не синхронно с инициализацией, view будет бесполезно лежать в памяти до того момента, как контроллер добавится в иерархию.
В моем примере контроллер - единственный экран приложения и он сразу помещается в иерархию, поэтому проблемы с этим не будет. Тем не менее, в среднем случае лучше задавать их в viewDidLoad (так как неизвестно как контроллер будет в дальнейшем использоваться). Поправил этот момент в примере. Спасибо за замечание!
Очень круто и понятно пишешь. Жду следующую статью
Task и structured concurrency в swift