
Haile
25.10.2016
11:30:10
оп
взял работку
на сотен часов
наговнякал 100 вызовов шаред аппликейшнов

Google

Haile
25.10.2016
11:30:39
клиент говорит - я тут читал, там экстеншн сделать легко будет
за 20
часов
ты такой - ок, действительно
а потом шаред аппликатион из нот авайлибл фром екстенсионс
обмазал все ифдефами
а где-то промахнулся
опача, уже на 40 часов перерасход
клиент негодует
грозит рефандом
а баги все не кончаются

Dmitriy
25.10.2016
11:32:10
зачем мазать то? Рефакторинг 40 часов, что бы от синглтонов избавиться?
ты ща серьезно?

Google

Haile
25.10.2016
11:33:52
ты ща серьезно?
я что-то не вижу в названии чата слово "шутеечки про девелопмент"

Dmitriy
25.10.2016
11:34:36
Шутеечек в названии нет, а петросяны то и дело вылазят
бляяя, ты серьезно? Звать аппделегат из контроллера?
Я встречал много решений, где есть авторизация и меняют rootViewController у window с логина на главное меню в appDelegate. И дергают смену с логин группы на основную метод из делегата либо из него достают UIWindow.

Ivan
25.10.2016
12:00:04
Если уж нужна такая навигация, почему не сделать класс роутер?
Зачем тебе аппделегат?

Dmitriy
25.10.2016
12:01:13
просто не видел реализаций с классами роутерами, а с использований делегатов примеров масса.

Ivan
25.10.2016
12:01:53
Если ты не видел такого примера, то ты уверен, что это хорошее решение?
У меня на предыдущей работе мы вообще по рукам били за использование аппделегата
Потому что он не для этого
А это был даже гребаный аутсорс

Dmitriy
25.10.2016
12:03:35
Не уверен. Но пока не столкнешься с каким-то косяком в таком решении - оно будет подходить.
Я допустим только что узнал, что синглтоны нельзя в расширениях юзать, потому что я их никогда не писал) посему до сих пор они всегда хорошо мне подходили там, где я их использовал.

Ivan
25.10.2016
12:04:14
Не синглтоны нельзя, а sharedApplication() нельзя
у UIApplication
Там доступ закрыт

Dmitriy
25.10.2016
12:07:23
понял) только что для интереса в поиск вбил

Ivan
25.10.2016
12:08:18
Не, юзать sharedApplication ок же
Ну типа индикатор сети
ссылки там
Я про то, что хранить модельные классы в "легальном" синглтоне - UIAplication.default.delegate
вот это та еще дичь

Google

Dmitriy
25.10.2016
12:09:04
а

Ivan
25.10.2016
12:09:07
Эпол так делали

Dmitriy
25.10.2016
12:09:09
ну модельки да,

Ivan
25.10.2016
12:09:12
Но никто так не пишет же
Это дичь
Тот же CoreDataStack
Он по умолчанию в аппделегате
Кто-то юзает его в аппделегате?
Руки бы отрывал

Антон
25.10.2016
12:32:08
лол
максимум модульность

[Anonymous]
25.10.2016
12:35:48
FCBCatalonia_bot

Булат
25.10.2016
12:44:46
@antsy_ivan а где можно почитать что можно, а что не нужно делать в аппделегате?
Касательно логина заинтересовало просто, я не оч опытный, как раз таки менял rootViewController у window там при наличии токена.
Где это лучше тогда реализовывать?

Ivan
25.10.2016
12:45:06
Делай как хочешь
Сорян, отвлекли
Я хз где почитать, я это услышал когда-то очень давно от коллеги
Вообще, если тебе нужна разная точка входа взависимости от данных, то ответ очевиден, тебе нужен класс, который это разруливает
А это не значит, что аппделегат то самое место
У меня был достаточно большой проект, в котором в аппделегате в сумме было строчек 20

Google

Ivan
25.10.2016
12:49:10
Все, что нужно отдельно - делать отдельно в классах
Конфигурация приложения - AppConfigutator какой-нибудь
Кастомная логика навигации
Какой-нибудь роутер
И т.д. и т.п.
Апп делегат не свалка

Admin
ERROR: S client not available

Денис
25.10.2016
12:50:13
я для таких вещей использую [SomeAppStarter application:application didFinishLaunchingWithOptions:launchOptions];
в принципе никогда проблем с расширением функционала не было

Ivan
25.10.2016
12:51:12
И по факту аппделегат вам ничего не должен делать, он лишь должен вас оповещать о чем-то, это же делегат

Денис
25.10.2016
12:51:25
тип того

Ivan
25.10.2016
12:51:49
И чем это лучше засерания AppDelegate?
Полюбому там есть вещи, которые можно разнести по разным классам
Это всегда так

Денис
25.10.2016
12:52:28

Ivan
25.10.2016
12:53:51
Ну я тебя понял так, что ты сделал класс над аппделегатом и все
т.е. ты сдалал свой AppDelegate?
тип того
А я говорю про то, что все разбивать по логике на отдельные классы

Google

Денис
25.10.2016
12:54:17
ну да. наверно я не так выразился
короче я всю логику увожу из аппделегата в другие классы
типа старта, пушей, и т.п.
я был где-то полгода назад на рамблер митапе. они там рассказывали, как они работают с аппделегатом. пока руки не доходят раскурить, что они придумали
они тогда утверждали, что их метод дико удобный

Roman
25.10.2016
12:57:13
На ютубе есть

Haile
25.10.2016
12:57:38
ну у них в аппделегате вроде создаются рутовые модуля / роутеры

Ivan
25.10.2016
12:57:52
Ну они и утверждают, что Вайпер дико удобный, хотя на самом деле не нужен почти никогда

Денис
25.10.2016
12:57:55

Булат
25.10.2016
12:59:22

Haile
25.10.2016
12:59:46
ну примерно да

Денис
25.10.2016
12:59:51
+

Ivan
25.10.2016
13:00:03
Да, что-то типа
Можешь сделать категорию на вью контроллер, который будет сообщать роутеру, что он текущий
Или сделать весь роут в этом классе
Много вариантов
Смотря что тебе нужно

Булат
25.10.2016
13:01:54
Окей