Swift, UIKit. Ищу учебник по шаблону координатора, БЕЗ раскадровки

#swift #design-patterns #mvvm #uikit

#swift #шаблоны проектирования #mvvm #uikit

Вопрос:

Я искал практически везде некоторые учебные пособия по шаблону координатора без раскадровки.

Может быть, кто-нибудь может поделиться своим кодом с Github, чтобы я мог посмотреть?

Кто-нибудь может что-то порекомендовать? Учебник, книгу для покупки, что угодно. Спасибо!

Ответ №1:

Я рекомендую вам прочитать эту статью Пола Хадсона. Но он написан с использованием раскадровки.

Если вы хотите использовать uikit без раскадровки, Main.storyboard сначала удалите.

Внутри Info.plist файла удалите строки со следующими ключами.

  • Манифест сцены приложения / Конфигурация сцены / Роль сеанса приложения / Имя раскадровки
  • Основное базовое имя файла раскадровки

В SceneDelegate классе of SceneDelegate.swift добавьте это свойство.

 var coordinator: Coordinator?
 

Замените следующий код в scene(_:willConnectTo:options:) SceneDelegate.swift

 guard let windowScene = (scene as? UIWindowScene) else { return }
let window = UIWindow(windowScene: windowScene)
let navigationController =  UINavigationController()
coordinator = MainCoordinator(navigationController: navigationController)
coordinator?.start()
window.rootViewController = navigationController
self.window = window
window.makeKeyAndVisible()
 

Я надеюсь, что вы можете продолжать изучать шаблон координатора.

Комментарии:

1. Привет, спасибо, что перезвонили мне. Я следил за этим учебником, но я не понимаю нескольких вещей. На самом деле мне удалось поработать без раскадровки. Проблема с учебником заключается в том, что он показывает некоторое использование скороговорки координатора, но конкретно не показывает, как комбинировать эти элементы. Возможно, сколько «экранов» для одного координатора или как передать некоторые данные, когда вы не можете изменить метод start() для получения параметров. Я нашел несколько обходных путей, и это работает, но я понятия не имею, является ли это правильным установленным способом сделать это. С уважением.

2. Я думаю, вы, вероятно, понимаете основные способы использования шаблона координатора. Если вы чувствуете, что то, что вы делаете, будет неправильным и беспорядочным, вам следует использовать пакет XCoordinator . Это удобный пакет, который поддерживает навигацию по шаблону координатора. Вам не нужно начинать с нуля. Вы можете увидеть пример того, как его использовать. Дайте ему пробную версию.