Comments 13
Эм… Если честно, то немного не понял какую проблему вы решили. Чем вам не понравился UINavigationController, который для этого вполне себе ок?
И зачем вам было нужно делать синглтоны для передачи данных между контролерами.
И зачем вам было нужно делать синглтоны для передачи данных между контролерами.
Так же мы можем без проблем передавать данные из экрана в экран и уменьшить использование singleton'ов.
0
Не очень понятно, почему логика роутера (логика переходов) определена вместе с контейнером для самих контроллеров. При таком подходе для каждого варианта контейнера придется создавать свой базовый роутер. Более логично смотрится вариант с отделением логики переходов от контроллеров в отдельном объекте. Конечно, тогда контроллер будет вынужден что-то знать о роутере, но это нормально: контроллер должен быть главным объектом и, соответственно, общим связующим звеном.
+1
UFO just landed and posted this here
При таком подходе надо быть осторожным: можно получить ошибку Missing proxy for identifier UIStoryboardPlaceholder. Решения есть (например), но прежде всего надо быть внимательным, потому что используется не поведение по умолчанию, а некий недокументированный хак, который загружает view для контроллера из другого файла (xib'а).
P.S. Если это не хак, а документированное поведение, — дайте знать.
P.S. Если это не хак, а документированное поведение, — дайте знать.
0
Storybords могут быть и без навигации.
+2
self.interactivePopGestureRecognizer.enabled = NO;
А зачем было блочить swipe-to-back?
0
А вот этот код работает в надежде, что рантайм всегда будет создавать self заранее?
Ну и про две буквы в префиксе своего класса уже сто раз проговорено — так нельзя, надо минимум три.
UIViewController *rootViewController = [self createRootViewController];
self = [super initWithRootViewController:rootViewController];
Ну и про две буквы в префиксе своего класса уже сто раз проговорено — так нельзя, надо минимум три.
0
Вопрос скорее про моветон, нежели про особенности текущей реализации рантайма.
Скажите, пожалуйста, для вас приведённый код не «пахнёт»?
Скажите, пожалуйста, для вас приведённый код не «пахнёт»?
0
нет, для меня этот кусок кода приемлемый
1) я использую возможность языка
2) мне не нужно делать лишние манипуляции с initWithRootViewController
3) метод createRootViewController использует self только для связи. Можно было сперва просто создать контроллер, потом вызвать initWithRootViewController и только потом связать, но если это делается проще, почему не использовать
4) если речь про подмену объекта в init, то сам этот момент кейс «пахнет»
это ведь не конструктор, если в пример хочется привести swift
1) я использую возможность языка
2) мне не нужно делать лишние манипуляции с initWithRootViewController
3) метод createRootViewController использует self только для связи. Можно было сперва просто создать контроллер, потом вызвать initWithRootViewController и только потом связать, но если это делается проще, почему не использовать
4) если речь про подмену объекта в init, то сам этот момент кейс «пахнет»
это ведь не конструктор, если в пример хочется привести swift
0
Sign up to leave a comment.
Навигация между экранами с использованием xib файлов