рд╕рдордиреНрд╡рдпрдХ рдкреИрдЯрд░реНрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ

рдореИрдВ рд░реВрдЯрдХрдореНрдкреЛрдЬрд╝рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВ рдЬреЛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдЬ рдореИрдВ рд╕рдордиреНрд╡рдпрдХ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдХреА рдЪрд░реНрдЪрд╛ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдВ рдХреЗ рд╕рдордиреНрд╡рдпрдХ рдиреЗ рд╣реЗрдмреЗрд░рд╛ рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИред


рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯрд░ рдкреИрдЯрд░реНрди, рдЬрд┐рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдИрдУрдПрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВред рдХреНрдпреЛрдВрдХрд┐ UIKit рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдмреЙрдХреНрд╕ рдХреЗ рдЙрдкрдХрд░рдг рдХрд╛рдлреА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЧрдбрд╝рдмрдбрд╝ рдирд╣реАрдВ рд╣реИрдВред


рдЫрд╡рд┐


рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдЯреИрдХ рдкрд░ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд╡рд┐рдЦрдВрдбрди рдХрд╛ рд╕рд╡рд╛рд▓ рдЙрдард╛рдпрд╛ рд╣реИ, рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдмрд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ ред


рдЪрд▓реЛ рдИрдорд╛рдирджрд╛рд░ рд╣реЛред рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдПрдкреЛрд▓ рдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╕реЗрдВрдЯрд░ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдбрд╛рд▓рдХрд░, рдЙрд╕рдиреЗ рдЙрдирдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдмрдирд╛рдиреЗ рдпрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╕рдордЭрджрд╛рд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкреЗрд╢ рдХрд┐рдпрд╛, рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╕реМрдВрдкрд╛, рдпрд╣ Xcode рд╕реЗ рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рдерд╛, рдФрд░ рд╢рд╛рдпрдж UISearchConnroller рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдПред рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдФрд░ рд╣рдорд╕реЗ рдмрд╣рд╕ рд╣реБрдИред рдлрд┐рд░, рдПрдкреЛрд▓рд╕ рдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЙрд╕рдиреЗ 2 рд╕реНрдХреНрд░реАрди рд╕реЗ рдпреБрдХреНрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рдЙрд╕рдиреЗ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдХреЛ рдХрдИ рдШрдЯрдХреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдореЗрдВ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ Xcode рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рдЗрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рд╛рде, рдХрдИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рддрд░реНрдХ рдмрджрд▓ рдЧрдП рд╣реИрдВ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВред рдЙрдирдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ UIViewController рд╡рд░реНрдЧ рдореЗрдВ рд╕рд┐рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рд╡рд╣реА рдорд┐рд▓рд╛ рдЬреЛ рд╣рдореЗрдВ рдорд┐рд▓рд╛ рдерд╛ред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:


 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "showDetail" { if let indexPath = tableView.indexPathForSelectedRow { let object = objects[indexPath.row] as! NSDate let controller = (segue.destination as! UINavigationController).topViewController as! DetailViewController controller.detailItem = object controller.navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem controller.navigationItem.leftItemsSupplementBackButton = true } } } 

рдХреЛрдб рдХреЗ рдЗрд╕ рдмреНрд▓реЙрдХ рдореЗрдВ рдмрд▓ рдЯрд╛рдЗрдХрд╛рд╕реНрдЯрдХрд╛рд╕реНрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрджреНрднреБрдд рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИрдВ, рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬреЛ Xcode рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХреЛрдИ рд╕рд╛рдзрди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреА рдереЛрдбрд╝реА рд╕реА рднреА рдЗрдЪреНрдЫрд╛ рдЖрдкрдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рдпрд╛рд╕ рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧреА рдФрд░ рдпрд╣ рдПрдХреНрд╕рдХреЛрдб рд╕реЗ рдереЛрдбрд╝реА рд╕реА рднреА рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд┐рдирд╛ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдзрдорд╛рдХреЗ рдХреЗ рд╕рд╛рде рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ WYSIWYG рдЕрдВрдд рдореЗрдВ рдпрд╣ рдирд┐рдХрд▓рд╛ рд╣реИред рдЖрдк рдЬреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рд╡рд╣реА рдЖрдкрдХреЛ рдорд┐рд▓рддрд╛ рд╣реИред


рдЖрдк рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдореЗрдВ рдЗрди рдЧреНрд░реЗ рддреАрд░ рдХреЗ рдЖрдХрд░реНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рдХреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рджрд┐рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдЕрднреНрдпрд╛рд╕ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рдХрдИ рдкрд░рд┐рдЪрд┐рдд рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд▓рд┐рдпрд╛, рдЬреИрд╕реЗ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ 66 рд╕реНрдХреНрд░реАрди рд╕реЗ рдкрд░реЗ рдмрдврд╝реА, рд▓реЛрдЧреЛрдВ рдиреЗ рдХреЛрд╢рд┐рд╢ рдХреАред рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдорд╛рдзрд╛рди рдвреВрдВрдвреЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░реЛрдВ рдХреЗ рдвреЗрд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдФрд░ рдЕрдЧрд░ iPad рдФрд░ рдЕрдиреНрдп рдиреЗрд╡рд┐рдЧреЗрд╢рди рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдпрд╛ рдкреБрд╢ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдЙрджрд╛рд╕ рдерд╛ред


рддрдм рд╕реЗ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реВрдкрд░реЗрдЦрд╛рдПрдБ, рдХреБрдЫ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдкреИрдЯрд░реНрди рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдЕрдВрджрд░ рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдиреЗ рдЗрд╕ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдФрд░ рдЕрдирд╛рдбрд╝реА рдХреЛрдб рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдмрдирд╛ рджрд┐рдпрд╛ред


рдЖрдЗрдП рд╕рдордиреНрд╡рдпрдХ рдкреИрдЯрд░реНрди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдЖрдкрдХреЛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкрд░ рдЗрд╕рдХрд╛ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдорд╛рдирдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ / рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдирд╣реАрдВ рд╣реИред рдмрд▓реНрдХрд┐, рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдореВрд░реНрддрди рд╣реИ, рдЬреЛ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдпрд╣ рд╕рдм "рдмрджрд╕реВрд░рдд" рдХреЛрдб рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ, рд╕реНрдЯреИрдХ рдкрд░ рдПрдХ рдирдпрд╛ рдирд┐рдпрдВрддреНрд░рдХ рдореЛрдбрд╝ рдмрдирд╛рдиреЗ рдФрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рд╕рд╣реЗрдЬрдирд╛, рдФрд░ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрдирд╛ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд▓реЗрдЦ рдореИрдВ raywenderlich.com рдкрд░ рдПрдХ рд▓реЗрдЦ рдХрд╣реВрдВрдЧрд╛ ред рдпрд╣ 2015 рдХреЗ NSSpain рд╕рдореНрдореЗрд▓рди рдХреЗ рдмрд╛рдж рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдЖрдо рдЬрдирддрд╛ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬреЛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рд╡рд╣ рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред


рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╣реИред


рд╕рднреА рд╡реНрдпрд╛рдЦреНрдпрд╛рдУрдВ рдореЗрдВ рд╕рдордиреНрд╡рдпрдХ рдкреИрдЯрд░реНрди рд▓рдЧрднрдЧ рдЗрд╕ рддрд╕реНрд╡реАрд░ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ:



рдпрд╣реА рд╣реИ, рд╕рдордиреНрд╡рдпрдХ рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ


 protocol Coordinator { func start() } 

рдФрд░ рд╕рднреА рдмрджрд╕реВрд░рдд рдХреЛрдб рдХреЛ start рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдордиреНрд╡рдпрдХ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╛рд▓ рд╕рдордиреНрд╡рдпрдХреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдЙрдирдХреЗ рдкрд╛рд╕ рд░рдЪрдирд╛ рдХреА рдХреБрдЫ рдХреНрд╖рдорддрд╛ рд╣реИ, рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ, рдпрд╣ рдмрд╣реБрдд рд╕реБрдВрджрд░ рд▓рдЧрддрд╛ рд╣реИред


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдмрд╣реБрдд рдЬрд▓реНрдж рд╣реА рдирд┐рд░реНрдЬреАрд╡ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ:


  1. рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордиреНрд╡рдпрдХ рдХреЛ рдХреБрдЫ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рдкреИрдЯрд░реНрди рдореЗрдВ рдореЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдвреЗрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, UINavigationController рдмреИрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпрд╛ рд╡рд╛рдкрд╕ рд╕реНрд╡рд╛рдЗрдк рдХрд░рдиреЗ рдФрд░ рдмрдЪреНрдЪреЗ рдХреЗ рд╕рдордиреНрд╡рдпрдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдПред рдкреНрд░рд╛рдХреГрддрд┐рдХ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдПрдХ рд╡рд╕реНрддреБ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддрд░реНрдХ рдпрд╛ рддреЛ рд╕рдордиреНрд╡рдпрдХ рдХреЗ рдкрд╛рд╕ рд╣реИ, рдпрд╛ рдЗрд╕ рддрд░реНрдХ рдХреЛ рдЖрдЧреЗ рдХрд┐рд╕реА рдФрд░ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдиреАрдЪреЗ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред
  2. рдЕрдХреНрд╕рд░ рдЕрдЧрд▓рд╛ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реНрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд▓реА рд╕реНрдХреНрд░реАрди рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЙрдЧ рдЗрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд▓реЙрдЧрд┐рди рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдордзреНрдпрд╡рд░реНрддреА рд╕реНрдХреНрд░реАрди рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЙрдЧрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╕рдордиреНрд╡рдпрдХ рдХреЛ рдПрдХ рдмрдбрд╝реЗ рд╕рдордиреНрд╡рдпрдХ (рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рдорд╛рди) рдореЗрдВ рдмрджрд▓рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдкрдШрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣реА рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рд╕рдордиреНрд╡рдпрдХ рд╕рдордиреНрд╡рдпрдХ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  3. рд╕рдордиреНрд╡рдпрдХреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдХрдВрдЯреЗрдирд░ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдЬреИрд╕реЗ рдХрд┐ UINavigationController , UITabBarController рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рд╣реИрдВред рдФрд░ рдХрд┐рд╕реА рдХреЛ рдЗрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдмрд╛рд▓ рд╕рдордиреНрд╡рдпрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдордиреНрд╡рдпрдХреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрджрд▓рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдП / рдмреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рд╕рдВрдпреЛрдЬрдХреЛрдВ рдХреЗ рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдЕрд▓рдЧ рд╕рд┐рд░рджрд░реНрдж рд╣реЛрддрд╛ рд╣реИред рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдмрджрд▓рддрд╛ рд╣реИред
  4. рдпрд╣ рд╕рдм рддрдм рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрд╛рд╣рд░реА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬреЛ рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕реЗ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдпрд╛ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рд▓рд┐рдВрдХ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрддреНрд░ рдореЗрдВ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдХреНрд░реАрди рдореЗрдВ рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИ)ред рдпрд╣рд╛рдВ рдЕрдиреНрдп рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╕рдордиреНрд╡рдпрдХ рдкреИрдЯрд░реНрди рдХрд╛ рд╕рдЯреАрдХ рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕ рд╕реНрдХреНрд░реАрди рдкрд░ рд╣реИ рддрд╛рдХрд┐ рдЙрд╕реЗ рдмрд╛рд╣рд░реА рдШрдЯрдирд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХреА рдЧрдИ рдЕрдЧрд▓реА рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рдЬрд╛ рд╕рдХреЗред
    рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЪреИрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ 3 рд╕реНрдХреНрд░реАрди рд╣реИрдВ - рдПрдХ рдЪреИрдЯ рд╕реВрдЪреА, рд╡рд╣ рдЪреИрдЯ рдЬреЛ рдХрд┐ рдЪреИрдЯ рд╕реВрдЪреА рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдореЗрдВ рдзрдХреЗрд▓ рджреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдХреНрд░реАрди рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрди рд╕реНрдХреНрд░реАрди рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рд╡рд╣ рдПрдХ рдзрдХреНрдХрд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рдЯреИрдк рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдпрджрд┐ рд╡рд╣ рдЪреИрдЯ рд╕реВрдЪреА рдореЗрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЪреИрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрджрд┐ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪреИрдЯ рдореЗрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╡рд╣ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЪреИрдЯ рдореЗрдВ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рди рдХрд░реЗрдВ рдФрд░ рдЕрдкрдбреЗрдЯ рди рдХрд░реЗрдВ, рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд╛рд▓реВ рд╣реИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдХреНрд░реАрди - рдпрд╣, рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛ рд╢рд╛рдпрдж рдмрдВрдж рди рд╣реЛ рдФрд░ рд╕рд┐рд░реНрдл рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЪреИрдЯ рдХреЛ рдорд╛рдореВрд▓реА рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдПрдВ? рдФрд░ рдЕрдЧрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рджреВрд╕рд░реЗ рдЯреИрдм рдореЗрдВ рд╣реИрдВ, рдФрд░ рдореЛрдбрд▓ рдирд╣реАрдВ рд╣реИ? рдпреЗ if/else рд╕рдордиреНрд╡рдпрдХреЛрдВ рдкрд░ рдлреИрд▓рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ рдпрд╛ рд╕реНрдкреЗрдЧреЗрдЯреА рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдЧрд╛-рд╕рдордиреНрд╡рдпрдХ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдкрд░ рдпрд╛ рддреЛ рд╕рдХреНрд░рд┐рдп рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдЯреИрдХ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рд╕рдордп рдХрд╣рд╛рдВ рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╣реИ рдЬреЛ рдЙрд╕рдХреЗ рд░рд╛рдЬреНрдп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рдмрд╕ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реА рд╕реНрдЯреИрдХ рд╣реЛрддрд╛ рд╣реИред
  5. рдФрд░ рдХреЗрдХ рдкрд░ рдЪреЗрд░реА UIKit glitches рд╣реИрдВ ред рдПрдХ рддреБрдЪреНрдЫ рдЙрджрд╛рд╣рд░рдг: рдПрдХ UITabBarController рджреВрд╕рд░реЗ UIViewController рд╕рд╛рде рджреВрд╕рд░реЗ рдЯреИрдм рдореЗрдВ рдПрдХ UINavigationController рд╕рд╛рдеред рдкрд╣рд▓реЗ рдЯреИрдм рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдШрдЯрдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЯреИрдм рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЕрдкрдиреЗ UINavigationController рдореЗрдВ UINavigationController рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕рдм рд╕рд┐рд░реНрдл рдПрдХ рдРрд╕реЗ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрднреА рджреВрд╕рд░рд╛ рдЯреИрдм рдирд╣реАрдВ рдЦреЛрд▓рд╛ рд╣реИ рдФрд░ UINavigationController рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ viewDidLoad рддреЛ push рд╡рд┐рдзрд┐ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА, рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрджреЗрд╢ рдЫреЛрдбрд╝рдХрд░ред рдЕрд░реНрдерд╛рддреН, рд╕рдордиреНрд╡рдпрдХ рдХреЗрд╡рд▓ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╢реНрд░реЛрддрд╛ рдирд╣реАрдВ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХрд╛ рдЬреНрдЮрд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдордиреНрд╡рдпрдХ рдкреИрдЯрд░реНрди рдХреЗ рдкрд╣рд▓реЗ рдмрдпрд╛рди рдХрд╛ рдЦрдВрдбрди рдХрд░рддрд╛ рд╣реИ, рдХрд┐ рд╕рдордиреНрд╡рдпрдХ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдордиреНрд╡рдпрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдФрд░ рдЙрдирдХреА рд╡рд┐рдирд┐рдореЗрдпрддрд╛ рдХреЛ рднреА рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рд╕реВрдЪреА рдЬрд╛рд░реА рд░рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕рдордиреНрд╡рдпрдХ рдкреИрдЯрд░реНрди рдПрдХ рд╕реАрдорд┐рдд, рдЦрд░рд╛рдм рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╕рдорд╛рдзрд╛рди рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЧреБрд▓рд╛рдмреА рдЪрд╢реНрдореЗ рдХреЗ рдмрд┐рдирд╛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддрд░реНрдХ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдмрдбрд╝реЗ UIViewController рдЕрдВрджрд░ рдПрдХ рдЕрдиреНрдп рд╡рд░реНрдЧ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдЗрд╕реЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдЬрдирд░реЗрдЯрд┐рд╡ рдлрд╝реИрдХреНрдЯрд░реА рд╕реЗ рдЕрдзрд┐рдХ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рддрд░реНрдХ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред


рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдкреИрдЯрд░реНрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рдЬреЛ рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рд╕рд╛рде, рдЙрдкрд░реЛрдХреНрдд рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдореИрдВ XCoordinator рдФрд░ RxFlow рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ ред


рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ?


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЦреЗрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдЬреЛ рд╣рдореЗрдВ рд╕рдорд░реНрдерди рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЯреАрдо рд╕реЗ рдорд┐рд▓рд╛, VIPER рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рд╕рдордиреНрд╡рдпрдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд░рд▓реАрдХреГрдд "рдорд╣рд╛рди-рджрд╛рджреА" рд░рд╛рдЙрдЯрд░ рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рдЙрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ рдЬреЛ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреА рдкрд┐рдЫрд▓реА рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдХреЛрдИ рдирд╛рдо рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рддрд╣ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЦрд╛рд▓реА рд╕рдордп рдерд╛, рддреЛ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рд░реВрдЯрдХрдореНрдкреЛрдЬрд╝рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордиреНрд╡рдпрдХреЛрдВ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╕рд╛рдмрд┐рдд рд╣реБрдЖред


рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрдпрд╛ рд╣реИ? рдЗрд╕рдореЗрдВ, рд╕реНрдЯреИрдХ (рдкреЗрдбрд╝) рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдореЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реИред рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдпрд╛ рдЯреНрд░реИрдХ рди рдХрд░реЗрдВред


рдЖрдЗрдП UIKit рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦреЗрдВ рдФрд░ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдиреАрдЪреЗ рдХреА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


  1. рдирд┐рдпрдВрддреНрд░рдХ рдвреЗрд░ рдПрдХ рдкреЗрдбрд╝ рд╣реИред рдПрдХ рд░реВрдЯ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЪрд╛рдЗрд▓реНрдб рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рд╣реИрдВред рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдЪрд╛рдЗрд▓реНрдб рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рднреА рд╣реИред рдпрд╣ рд╕рднреА рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЙрдкрд▓рдмреНрдз рд╣реИред
  2. рдореБрдЭреЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рдЗрдХрд╛рдЗрдпрд╛рдБ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрди рд╕рднреА рдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ Xib рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реЗ рдПрдХрдЬреБрдЯ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рд╣рдо рдлрд╝реИрдХреНрдЯрд░реА рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЛ рд╡реНрдпрд╛рдкрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдпрд╣ рджреВрд╕рд░реЛрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред
  3. рд╣рдо рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЛ 2 рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: 1. рдмрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ рджреЗрдЦреЗрдВ, 2. рдХрдВрдЯреЗрдирд░ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ (рдХрдВрдЯреЗрдирд░ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░) ред рдХрдВрдЯреЗрдирд░ рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдЧреЛрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рдмрд╛рд▓ рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдХрдВрдЯреЗрдирд░ рдпрд╛ рд╕рд░рд▓ рд╡рд╛рд▓реЗ рднреАред рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: UINavigationController , UITabBarController рдФрд░ рдЗрд╕реА рддрд░рд╣, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рднреА рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ: 1. рдЙрдирдХреЗ рдкрд╛рд╕ рдЙрди рд╕рднреА рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬреЛ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реИрдВред 2. рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдХ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВред 3. рдЙрдиреНрд╣реЗрдВ рдЗрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рджреГрд╢реНрдпрдорд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдм UIKit рдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ 3 рдХрд╛рд░реНрдп рд╣реИрдВред
  4. рдПрдХ рдлреИрдХреНрдЯреНрд░реА-рдирд┐рд░реНрдорд┐рдд рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдкреИрд░реЗрдВрдЯ рд╡реНрдпреВ рд╡рд┐рдзрд┐ UINavigationController.pushViewController(...) , UITabBarController.selectedViewController = ... , UIViewController.present(...) рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рд╣реИред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ 2 рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдПрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдЯреИрдХ рдкрд░, рдФрд░ рдПрдХ рдЬрд┐рд╕реЗ рд╕реНрдЯреИрдХ рдкрд░ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕реЗ рдПрдХ рд░реИрдкрд░ рдореЗрдВ рд▓рдкреЗрдЯреЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХреНрд╢рди (рд▓рдбрд╝рд╛рдИ) рдХрд╣реЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡реНрдпрд╛рдкрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рджреВрд╕рд░реЛрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред
  5. рдКрдкрд░ рд╕реЗ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рддреИрдпрд╛рд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдлреИрдХреНрдЯрд░реА -> рдХрд╛рд░реНрд░рд╡рд╛рдИ -> рдХрд╛рд░рдЦрд╛рдирд╛ -> рдХрд╛рд░реНрд░рд╡рд╛рдИ -> рдХрд╛рд░рдЦрд╛рдирд╛ рдФрд░ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдПрдХ рджреГрд╢реНрдп рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпреЗ рдЗрдирдкреБрдЯ рдкреЙрдЗрдВрдЯ рдЖрдо рддреМрд░ рдкрд░ рдпрд╛ рддреЛ UIWindow рдпрд╛ рд╡рд░реНрддрдорд╛рди рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рд░реВрдЯ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдкреЗрдбрд╝ рдХреА рд╕рдмрд╕реЗ рдЪрд░рдо рд╢рд╛рдЦрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ: ViewController рд╢реБрд░реВ рдХрд░рдирд╛ -> рдХрд╛рд░реНрд░рд╡рд╛рдИ -> рдХрд╛рд░рдЦрд╛рдирд╛ -> ... -> рдХрд╛рд░рдЦрд╛рдирд╛ ред
  6. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдХреБрдЫ рдЗрдХрд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ рдмрдирд╛рдирд╛ рдЬрд╛рдирддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рд░рд╛рдЙрдЯрд░ рдХрд╣реЗрдВрдЧреЗред рдЗрд╕рдХреА рдХреЛрдИ рдЕрд╡рд╕реНрдерд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЛрдИ рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреА рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд░рдгреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред
  7. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХрдХреНрд╖рд╛рдПрдВ рдЬреЛрдбрд╝рдХрд░ рд░рд╛рдЙрдЯрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдЬреЛрдбрд╝реЗрдВред рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ 3 рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ: 1. рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдЙрдирдореЗрдВ рдЕрдиреНрдп рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред 2. рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдЪрд▓рд╛рдПрдБред 3. рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рдмрд╛рдж рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрд╕рдХреА рдПрдХ рд╣реА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИ рдФрд░ рд╡рд╣ рдЙрд╕реЗ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИред рдпрд╣реА рд╣реИ, рдЬрдЯрд┐рд▓ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди [рдкреНрд░реА-рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЯрд╛рд╕реНрдХ ...] -> рд╡реНрдпреВ рд╡реНрдпреВрдХрдВрдЯреНрд░реЛрд▓рд░ -> рдПрдХреНрд╢рди -> (рдлреИрдХреНрдЯреНрд░реА + [рдХреЙрдиреНрд╕реЗрдкреНрдЯрдЯреИрд╕реНрдХ ...]) -> ... -> (рдлреИрдХреНрдЯреНрд░реА + [рдХреЙрдиреНрдЯреЗрдХреНрдЯрдЯреИрд╕реНрдХ) ...] -> [рдкреЛрд╕реНрдЯ рдиреЗрд╡рд┐рдЧреЗрд╢рдирдЯреИрд╕реНрдХ рдХреА рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред ...] ред рдпрд╣реА рд╣реИ, рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░рд╛рдЙрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдмрджрд▓реЗ рдореЗрдВ рдЫреЛрдЯреЗ, рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдардиреАрдп, рдкрд░рдорд╛рдгреБ рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  8. рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рдЗрд╕ рд╕рдордп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЗрд╕реЗ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ? рдЗрд╕ рд╕рд╡рд╛рд▓ рдХреЛ рд╣рдореЗрд╢рд╛ рджреГрд╢реНрдп рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдкреЗрдбрд╝ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреЗрдбрд╝ рдореЗрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░рдЦрд╛рдирд╛ рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдирд┐рд░реНрдорд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВ, рддреЛ рд░рд╛рдЙрдЯрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдХрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдХрд┐рд╕ рднрд╛рдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдпрд╣ рдХрд╛рд░рдЦрд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдФрд░ рдкрд░рдорд╛рдгреБ рдЗрдХрд╛рдИ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдЧрдИ рд╣реИ - рдЦреЛрдЬрдХ, рдФрд░ рдХреЛрдИ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: [рдкреВрд░реНрд╡-рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХрд╛рд░реНрдп ...] - ViewController рд╢реБрд░реВ рдХрд░рдирд╛ -> рдХрд╛рд░реНрд░рд╡рд╛рдИ -> (рдЦреЛрдЬрдХ / рдХрд╛рд░рдЦрд╛рдирд╛ + / ContextTask ...) -> ... -> (рдЦреЛрдЬрдХ / рдлреИрдХреНрдЯрд░реА + [рдкреНрд░рд╕рдВрдЧрд╡рд╢ ...]) -> [рдкреЛрд╕реНрдЯ рдиреЗрд╡рд┐рдЧреЗрд╢рдирдЯреИрд╕реНрдХ ...] ред рдпрджрд┐ рд░рд╛рдЙрдЯрд░ рдЗрд╕реЗ рдЕрдВрдд рд╕реЗ рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЦреЛрдЬрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЙрд╕реЗ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ рд░рд╛рдЙрдЯрд░ рд╡рд╛рдкрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рдЦреБрдж рдХреЛ рдкреЗрдбрд╝ рдореЗрдВ рдирд╣реАрдВ рдкрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
    рдЫрд╡рд┐
  9. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ; рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреЗрдЯрд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдмрджреНрдзрддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдлреНрдЯ рдХреА рдХреНрд╖рдорддрд╛ рдкрд░ рдЯрд┐рдХреА рд╣реБрдИ рд╣реИред рд╣рдо рд╕рдВрдХрд▓рдХ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд░рдирдЯрд╛рдЗрдо рдкрд░ рдирд╣реАрдВред рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдХрдордЬреЛрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдирд╣реАрдВред

рдРрд╕реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:


 let productScreen = StepAssembly(finder: ProductViewControllerFinder(), factory: ProductViewControllerFactory()) .add(LoginInterceptor<UUID>()) // Have to specify the context type till https://bugs.swift.org/browse/SR-8719 is fixed .add(ProductViewControllerContextTask()) .add(ProductViewControllerPostTask(analyticsManager: AnalyticsManager.sharedInstance)) .using(UINavigationController.push()) .from(NavigationControllerStep()) .using(GeneralActions.presentModally()) .from(GeneralStep.current()) .assemble() 

рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЖрдЗрдЯрдо рдкреВрд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬреЛ рдХреБрдЫ рднреА рд░рд╣рддрд╛ рд╣реИ рд╡рд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд░рд╛рдЙрдЯрд░ рддрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХреЛрдИ рдмрд╛рд╣рд░реА рдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдпреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП iPhone рдпрд╛ iPad, рддреЛ рд╣рдо рдмрд╣реБрд░реВрдкрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдХреНрд░рдордг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдП / рдмреА рдкрд░реАрдХреНрд╖рдг рд╣реИ, рддреЛ рд╡рд╣реА рдмрд╛рддред рд╣рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдХреНрд╖рдг рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╢реБрд░реВ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдпрдХреАрди рд╣реИ рдХрд┐ рд░рд╛рдЙрдЯрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ред


рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдореВрд░реНрддрддрд╛ рдпрд╛ рдкреИрдЯрд░реНрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЕрднреА рддрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдмреЗрд╢рдХ, RouteComposer рдХреЛ рдХреБрдЫ рдЕрдзреНрдпрдпрди рдФрд░ рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдСрдЯреЛрд▓рдпреВрдЯ рдпрд╛ рд░рдирд▓реВрдк рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдХреЛрдИ рдЙрдЪреНрдЪ рдЧрдгрд┐рдд рдирд╣реАрдВред


рдкреБрд╕реНрддрдХрд╛рд▓рдп, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд░рд╛рдЙрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдЙрджреНрджреЗрд╢реНрдп рдЪрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рднреА рдХреЛрдХреЛ рдЯрдЪ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд░рдЪрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдФрд░ рджрд┐рдП рдЧрдП рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ iOS рд╕рдВрд╕реНрдХрд░рдг 9 рдореЗрдВ 12 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
UIViewControllers рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдиреЗрд╡рд┐рдЧреЗрд╢рди (рдФрд░ рди рдХреЗрд╡рд▓) / geek рдкрддреНрд░рд┐рдХрд╛
рд░реВрдЯрд╡реНрдпреВрдкрд░ / geek рдкрддреНрд░рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ UIViewControllers рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрджрд╛рд╣рд░рдг


рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

Source: https://habr.com/ru/post/hi446550/


All Articles