рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ UIViewController рд╣реИ? рдмрд╣реБрддреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рд╛рдБред рдПрдХ рдУрд░, рдпрд╣ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдкрд░ - рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рдеред
рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рддрд░реНрдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: MVP, MVVM, VIPERред рд╡реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП: рдПрдХ рдЬрдЧрд╣ рдкрд░ рддрддреНрд╡реЛрдВ, рд▓реЗрдЖрдЙрдЯ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдЗрдирдкреБрдЯ рдФрд░ рдПрдиреАрдореЗрд╢рди рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд░рд╣рддрд╛ рд╣реИред
рдЖрдЗрдП рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рджреГрд╢реНрдп рдХреЛ рдЕрд▓рдЧ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ loadView () рд╣рдорд╛рд░реА рдорджрдж рдХрд░рддрд╛ рд╣реИред

IOS рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕
UIView
рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИред рдкреНрд░рддреНрдпреЗрдХ
view
рдХрд╛рд░реНрдп: рддрддреНрд╡реЛрдВ рдХреЛ рдмрдирд╛рдирд╛, рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛, рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛, рдЪреЗрддрди рдХрд░рдирд╛ред рдпрд╣ рдЙрди рддрд░реАрдХреЛрдВ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ
UIView: addSubview(), drawRect(), layoutSubviews().
рд╡рд░реНрдЧ рдореЗрдВ рд╣реИрдВ
UIView: addSubview(), drawRect(), layoutSubviews().
рдпрджрд┐ рдЖрдк
UIViewController
рд╡рд░реНрдЧ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣
view:
рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ
view:
рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рд╕реНрдХреНрд░реАрди рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ, рдФрд░ рдирдИ рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЕрдХреНрд╕рд░ рдХреЛрдб рдЬреЛ
UIView
рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рдо
UIViewController
рдЙрдкрд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░реЛред
loadView ()
UIViewController
рдХрд╛ рдЬреАрд╡рди рдЪрдХреНрд░
loadView()
рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рд╣рдо рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
super.loadView()
рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ!
CustomView.swift рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рдпрдВрддреНрд░рдХ
CustomView,
рдХреЛ рд▓реЛрдб
CustomView,
рдЗрд╕реЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛, рдПрдХреНрд╕рдкреЛрдЬрд╝рд░
.frame
.view
рд╕рдВрдкрддреНрддрд┐ рд╡рд╣ рд╡рд░реНрдЧ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рд▓реЗрдХрд┐рди рдЬрдмрдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреНрд▓рд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп
UIView
ред рдЖрдЗрдП рдЗрд╕реЗ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд╕реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд░реЗрдВ:
рдЕрдм рдЖрдк
CustomView
рдЪрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рд╕рдВрдмрджреНрдзрддрд╛ рдХреЗ рд╕рд╛рде рд╕рд░рд▓реАрдХреГрдд рдХрд░реЗрдВрд░реБрд╕реНрд▓рд╛рди рдХреЗрд╡рддреНрд╕реНрдХреА рдиреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рд╣рдЯрд╛рдиреЗ рдХреЛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛:
protocol ViewSpecificController { associatedtype RootView: UIView } extension ViewSpecificController where Self: UIViewController { func view() -> RootView { return self.view as! RootView } }
рдкреНрд░рддреНрдпреЗрдХ рдирдП рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ typealias
рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ UIView
рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдЙрдкрд╡рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
UIView рдХреЗ рдПрдХ рдЙрдкрд╡рд░реНрдЧ рдореЗрдВ рдХреЛрдб
рдирд┐рдпрдВрддреНрд░рдг рдмрдирд╛рдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдлрд╝реЙрдиреНрдЯреНрд╕, рд░рдВрдЧ, рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рд╕реАрдзреЗ CustomView рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рд▓реЗрдЖрдЙрдЯ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ ()
рдореИрдиреБрдЕрд▓ рд▓реЗрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЬрдЧрд╣
layoutSubviews()
рд╡рд┐рдзрд┐ рд╣реИред рдЗрд╕реЗ рд╣рд░ рдмрд╛рд░
view
рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд╕рд╣реА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП
bounds
рдЖрдХрд╛рд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдирд┐рдЬреА рдирд┐рдпрдВрддреНрд░рдг, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧреБрдг
рдпрджрд┐ рд╕рдордп рд╣реИ, рддреЛ рдореИрдВ
property
рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдирд┐рдЬреА рдмрдирд╛рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЪрд░ рдпрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдЬреНрдЮрд╛рди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ" рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:
рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХрд╛ рд▓рд╛рдн: рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдкреАрдЫреЗ рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рд╡реИрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░рдВрдЧ рд╕реЗ рдЗрдВрдЧрд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рди рдХрд┐ рд╡рд░реНрдЧ рд╕реЗ, рд▓реЗрдХрд┐рди рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
ViewDidLoad () рдореЗрдВ рдХреНрдпрд╛ рд░рд╣рддрд╛ рд╣реИ?
рдпрджрд┐ рдЖрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд┐рд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдХреНрд╕рд░
viewDidLoad()
рдЦрд╛рд▓реА рд╣реИред рдпрджрд┐ рдЖрдк рдХреЛрдб рдореЗрдВ рдПрдХ
view
рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд▓рдХреНрд╖реНрдп-рдПрдХреНрд╢рди рдкреИрдЯрд░реНрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдирдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдПрдХ
UIGestureRecognizer
рдЬреЛрдбрд╝реЗрдВ рдпрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдмрд╛рдВрдзреЗрдВред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд┐рд▓реНрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдХреВрд▓рди
view
рд▓рд┐рдП рдЙрдкрд╡рд░реНрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд┐рд▓реНрдбрд░ (рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрдИрдмреА) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдкрдХреЛ
view
рдСрдмреНрдЬреЗрдХреНрдЯ (рдирд┐рдпрдВрддреНрд░рдХ рдирд╣реАрдВ) рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдХреА рдХрдХреНрд╖рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреА рд╣реЛрдЧреАред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ
loadView()
рдХреЛ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрд╡рдпрдВ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди
UIView
рдЕрднреА рднреА
UIView
рдЯрд╛рдЗрдк
UIView
ред

UIView рдореЗрдВ IBOutlet
рдпрджрд┐ рдЖрдк
view
рдЕрдВрджрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЪрдпрди рдХрд░рддреЗ
view
, рддреЛ рд╕рд╣рд╛рдпрдХ рд╕рдВрдкрд╛рджрдХ
UIView
рд╡рд░реНрдЧ рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЛрдб рдореЗрдВ рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред рддреЛ рдЖрдк
IBOutlet
рдХреЛ
view
рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ
view
ред

рдЕрдЧрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИCustomView
рд╡рд░реНрдЧ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЦреЛрд▓реЗрдВ,
IBOutlet
рд▓рд┐рдЦреЗрдВред рдЕрдм рдЖрдк рдорд╛рд░реНрдХрд░ рджреНрд╡рд╛рд░рд╛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдИрдмреА рдореЗрдВ рдПрдХ рддрддреНрд╡ рдкрд░ рд╣реЛрд╡рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдХреЛрдб рдореЗрдВ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ
init()
рдмрд╛рдж рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣реБрдБрдЪ рдпреЛрдЧреНрдп рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм IB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ,
IBOutlet
рддрдХ рдкрд╣реБрдБрдЪ рдХреЗрд╡рд▓
awakeFromNib()
рд╡рд┐рдзрд┐ рдореЗрдВ
UIStoryboard
рд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:
UIViewController рдореЗрдВ рдЖрдИрдмреАрдП
рдореЗрд░реЗ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдорд╛рдирдХ рд╕реЗ:
- рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рд▓рдХреНрд╖реНрдп-рдХрд╛рд░реНрд░рд╡рд╛рдИ
UIViewController
рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди- рдмреНрд▓реЙрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
Notification
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
UIViewController
рдХреЗрд╡рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рддрд░реНрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ: рдПрдорд╡реАрдкреА, рд╡реАрдЖрдИрдкреА, рдЖрджрд┐ред
рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА
рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдореЗрдВ, рдЖрдк
UIView
рдкреНрд░рдХрд╛рд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╛рдВрдЫрд┐рдд рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрдкрддреНрддрд┐ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ,
setter
рдФрд░
getter
рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ, рд╡рд░реНрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реБрдП:
рдЕрдВрдд
GitHub рдкрд░ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдкреГрдердХреНрдХрд░рдг рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: рд╡рд░реНрдЧ рдХрд╛ рд░рдВрдЧ рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рд╣рд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдпрд╣ рд╣рд░рд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рд▓рд╛рд▓ рд╣реИ)ред
рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕реНрдХреНрд░реАрди, рдмреЗрд╣рддрд░ рдкреНрд░рднрд╛рд╡: рдирд┐рдпрдВрддреНрд░рдХ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЛрдб рдХреЛ рдЙрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓
view
рд▓рд┐рдП рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛
view
, рд▓реЗрдХрд┐рди рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рд╕реЗ рдХреЛрдб рдХреЛ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдирд╛ рдФрд░ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде
view
рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, iPhone рдФрд░ iPad рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рдпрдВрддреНрд░рдХ рдХреАрдмреЛрд░реНрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣
view
рдХреЛрдб рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд╣рд░ рдмрд╛рд░ рдЯреАрдо рдиреЗ рд╕рд░рд▓реАрдХрд░рдг рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд┐рдпрд╛ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рднреА рдЗрд╕рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВрдЧреЗред рд╕рднреА рдЖрд╕рд╛рди
UIViewController
!