К
Unrecognized selector sent to instance - яркая демонстрация этой проблемы. Рантайм языка пытается вызвать функцию по другому названию, не находит её в объекте и всё падаетSize: a a a
К
Unrecognized selector sent to instance - яркая демонстрация этой проблемы. Рантайм языка пытается вызвать функцию по другому названию, не находит её в объекте и всё падаетVK
К
Ԥ
ШД
ШД
n
И
n
S
Э
.performSegue(withIdentifier: "goToDetail", sender: self) func prepare(for segue: UIStoryboardSegue, sender: Any?), где передал бы данные внутрь страницы.И
n
KS
.performSegue(withIdentifier: "goToDetail", sender: self) func prepare(for segue: UIStoryboardSegue, sender: Any?), где передал бы данные внутрь страницы.protocol MyRouterDelegate {
func performNavigation(_ route: MyRoute)
}
extension MyRouterDelegate where Self: UIViewController {
func performNavigation(_ route: MyRoute) {
self.performSegue(withIdentifier: route.rawValue)
}
}epare(for segue: UIStoryboardSegue, sender: Any?) передай всю инфу роутеру, он уже достанет дестинейшен vc и отконфигурирует егоЭ
protocol MyRouterDelegate {
func performNavigation(_ route: MyRoute)
}
extension MyRouterDelegate where Self: UIViewController {
func performNavigation(_ route: MyRoute) {
self.performSegue(withIdentifier: route.rawValue)
}
}epare(for segue: UIStoryboardSegue, sender: Any?) передай всю инфу роутеру, он уже достанет дестинейшен vc и отконфигурирует егоKS
KS
enum MyRoute {
case detail(id: ID)
case add
}Э
KS
router.navigateToDetailScreen() роутер в свою очередь дергает delegate.performNavigation(.detail), т.к. делегат роутера ViewController он дернет performSegue, как UIKit подготовит для вас контроллер вызовет prepareForSegue у этого ViewController'а и он запроксирует этот вызов роутеру. Роутер донастроит контроллер и segue выпоонится.