IOS рдбреЗрд╡рд▓рдкрд░ рдХреЛ 14 рдмрд╛рддреЗрдВ рдкрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

рд▓реЗрдЦрдХ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде, рдореИрдВ рдиреЛрд░реНрдмрд░реНрдЯреЛ рдЧрд┐рд▓ рд╡рд╛рд╕реНрдХреЛрдирд╕реЗрд▓реЛрд╕ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ "14 рдХреЛ рдПрдХ рдЖрдИрдУрдПрд╕ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" ( рдореВрд▓ рд╕реЗ рд▓рд┐рдВрдХ )ред рд▓реЗрдЦ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд╕рдордп, рд╕реНрд╡рд┐рдлреНрдЯ 3 рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдерд╛ред

рдПрдХ iOS рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрд╡рд┐рдлреНрдЯ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрднрд░), рдореИрдВрдиреЗ рд╕реНрдХреНрд░реИрдЪ, рд╕рдорд░реНрдерд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЯреАрдореЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПред рдЬрдм рдореИрдВ рдЗрд╕ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рддрдм рдореИрдВрдиреЗ рдЕрдХреНрд╕рд░ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╕реБрдирд╛ рд╣реИ: "рдЖрдкрдХреЛ рд╕рдордЭрд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛, рддреЛ рдЖрдк рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗред" рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХрд┐ рдореИрдВ рд╣рд░ рджрд┐рди рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдЕрдкрдиреА рд░рд╛рдп рдореЗрдВ, рдХрд┐рд╕реА рднреА рдЖрдИрдУрдПрд╕ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдореИрдВ рд╣рд░ рдкрд▓ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред [рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ, рдЕрдкрдиреА рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХрд░реЗрдВ рдпрд╛ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдЕрдкрдиреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрдЭрд╛рд╡ рджреЗрдВред]


рд╡рд┐рд╖рдп: [ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг | рд╡рд╛рд╕реНрддреБ рдкреИрдЯрд░реНрди | рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдмрдирд╛рдо рд╕реНрд╡рд┐рдлреНрдЯ | рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ | рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХ | рд╕реВрдЪрдирд╛ рднрдВрдбрд╛рд░рдг | рд╕рдВрдЧреНрд░рд╣ рджреГрд╢реНрдп рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рджреГрд╢реНрдп | рдпреВрдЖрдИ | рдкреНрд░реЛрдЯреЛрдХреЙрд▓ | рд╢реЙрд░реНрдЯ рд╕рд░реНрдХрд┐рдЯ | рдпреЛрдЬрдирд╛рдПрдБ | рдкрд░реАрдХреНрд╖рдг | рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди | рд╕реНрдерд╛рдиреАрдп рддрд╛рд░ ]


рдпрд╣рд╛рдБ рдореЗрд░реА рд╕реВрдЪреА рд╣реИ, рдмрд┐рдирд╛ рдХреНрд░рдо рдХреЗ, рдмрд┐рдирд╛ рдХреНрд░рдо рдХреЗред

1 - рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг


рдмрдзрд╛рдИ рд╣реЛ, рдЖрдк рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ! рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдХреЛрдб рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдХрд╛рдо рдкрд░ рд▓рдЧ рдЬрд╛рдПрдВред рдХреНрдпрд╛ рд░реЛрдХреЛ?

рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реЛрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ Git рдФрд░ SVN рд╣реИрдВред

рдПрд╕рд╡реАрдПрди рдПрдХ рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдпрд╣ рд╡рд╣ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ рдЬрд╣рд╛рдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкреВрд░рд╛ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗрд╡рд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░рддрд┐рдпреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИред

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

2 - рд╡рд╛рд╕реНрддреБ рдкреИрдЯрд░реНрди


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

  • MVC тАФ Model, View, Controller. Controller Model View, . View Controller , Controller . ? , View, (ViewController) . , MVC. MVC . ( !), , , Model, , . MVC , , iOS .


    MVC тАУ
  • MVVM тАФ Model, View, ViewModel. ( ) View ViewModel, ViewModel , ViewModel, View - . ViewModel View, , .


    MVVM тАУ


рдЕрдиреНрдп рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд╣рд░реА рд╕рдордЭ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ ред

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

- рдмреЗрдВрдЬрд╛рдорд┐рди рдлреНрд░реИрдВрдХрд▓рд┐рди

рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рд╕рд╣рдЬ рдФрд░ рдЖрд╕рд╛рди рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

3 - рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдмрдирд╛рдо рд╕реНрд╡рд┐рдлреНрдЯ


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

рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрд╡рд┐рдлреНрдЯ рдХрдИ рддрд░рд╣ рд╕реЗ рдЫрд▓рд╛рдВрдЧ рд▓рдЧрд╛рддреА рд╣реИред рдпрд╣ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдпрд╣ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЕрдВрдЧреНрд░реЗрдЬреА рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рд╕реА рдкрд░ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрдкрдХреЛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬреЛ рд▓реЛрдЧ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреЛрдИ рдЕрдзрд┐рдХ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо, рдФрд░ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдХреЛрд╖реНрдардХ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реИ: рд╕реНрд╡рд┐рдлреНрдЯ рдХреЛ .h рдФрд░ .m рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдПрдХ .swift рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Xcode рдФрд░ LLVM рдХрдВрдкрд╛рдЗрд▓рд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмрдирд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдкрдХреЛ рдорд╛рдирдХреАрдХреГрдд рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рдЪрд┐рдВрддрд╛ рдХрд░рдиреА рд╣реЛрдЧреА, рдФрд░ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдЖрдк рдХрдо рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрднреА рднреА рд╕рдВрджреЗрд╣ рдореЗрдВ рд╣реИ? рд╕реНрд╡рд┐рдлреНрдЯ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдФрд░ рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддрд╛ рд╣реИ (рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП!)ред рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдЖрдк рдПрдХ uninitialized рд╕реВрдЪрдХ рдЪрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ Objective-C рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдХреБрдЫ рднреА рддреЛ рдирд╣реАрдВред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЫреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХреНрд░реИрд╢ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдИ рдмрдЧ рдФрд░ рдЕрд╕реНрдерд┐рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЖрдк рдЕрдкрдиреЗ рдкреЗрд╢реЗ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЧрдВрднреАрд░рддрд╛ рд╕реЗред рдПрдХ рдкреЗрд╢реЗрд╡рд░ рдХреБрддреНрддрд╛ рд╡реЙрдХрд░ рдмрдирдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдирдП рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЪрдордХ рдЙрдард╛ред рдЗрд╕реА рд╕рдордп, рд╕реНрд╡рд┐рдлреНрдЯ рдХрд╛рдЙрдВрдЯрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдпрд╣ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╢реВрдиреНрдп рдорд╛рдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдиреАрд▓ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд░рдирдЯрд╛рдЗрдо рдХреНрд░реИрд╢ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛редрдПрдЖрд░рд╕реА (рдСрдЯреЛрдореИрдЯрд┐рдХ рд░реЗрдлрд░реЗрдВрд╕ рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ) рдЖрдкрдХреЛ рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ рдЕрдкрдиреА рдореЗрдореЛрд░реА рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдореЗрдВ, рдПрдЖрд░рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╕реА рдХреЗ рд╕рд╛рде рдпрд╛ рдХреЛрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЬреИрд╕реЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

4 - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛? (рдпрд╣ рд╕рд╡рд╛рд▓ рд╣реИ)


рдлрдВрдХреНрд╢рдирд▓ рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (FRP) рдПрдХ рдирдпрд╛ рд╣рд┐рдЯ рд╣реИред рдпрд╣ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдШрдЯрдирд╛ / рдбреЗрдЯрд╛ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рдВрдХрд▓рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИред рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реНрдпрдХреНрдд рдЕрднрд┐рдХрд▓рди рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЕрдореВрд░реНрдд рд╣реИред

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

// 
let timmySavings = Variable(5)
let jennySavings = Variable(10)

var isConsoleAttainable =
Observable
.combineLatest(timmy.asObservable(), jenny.asObservable()) { $0 + $1 }
.filter { $0 >= 300 }
.map { "\($0)    !" }

//  
timmySavings.value = 10
jennySavings.value = 20
isConsoleAttainable
   .subscribe(onNext: { print($0) }) //   

//  
timmySavings.value = 100
jennySavings.value = 200
isConsoleAttainable
   .subscribe(onNext: { print($0) }) // 300    !

рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдПрдлрдЖрд░рдкреА рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рдорд╛рд╕реНрдЯрд░ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рдПрдХ рдкреВрд░реА рдирдИ рджреБрдирд┐рдпрд╛ рдЦреЛрд▓ рджреЗрдЧрд╛, рдПрдорд╡реАрд╕реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП ... рд╣рд╛рдБ, рд╣рд╛рдБ! MVVM!
рдЖрдк рдореБрдЦреНрдп рд╕реНрд╡рд┐рдлреНрдЯ FRP рдХреЗ рд╢реАрд░реНрд╖рдХ рдХреЗ рд▓рд┐рдП рджреЛ рдореБрдЦреНрдп рдЖрд╡реЗрджрдХреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:


5 - рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХ


рдХреЛрдХреЛ рд╕реНрд╡рд┐рдлреНрдЯ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдХреЛрдЖрдкреЙрдбреНрд╕ рдФрд░ рдХрд╛рд░реНрдереЗрдЬ рд╕рдмрд╕реЗ рдЖрдо рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд╣реИрдВред рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрджреНрдпрддрди рд░рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред

рдХреЛрдХреЛрдЖрдкреЛрдбреНрд╕ рдореЗрдВ рд░реВрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд┐рдд рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

$ sudo gem install cocoapods

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдбрдлрд╛рдЗрд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЖрдк рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

$ pod install

рдпрд╛ рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо рдкреЙрдбрдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end

рдПрдХ рдмрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЖрдкрдХреЗ рдирдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ:

$ pod install

рдЕрдм рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ .xcworkspace рдХреЛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ , рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред CochaPods рдХреЗ рд╡рд┐рдкрд░реАрдд,

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

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, GitHub рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреЗрдЦреЗрдВ ред

6 - рдЖрдзрд╛рд░ рд╕рд╛рдордЧреНрд░реА рднрдВрдбрд╛рд░рдг


рдЖрдЗрдП рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХреЗ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред NSUserDefaults , рдЗрд╕рд▓рд┐рдП рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкрд╣рд▓реЗ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдЗрд╕реЗ рд╕рд░рд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рд╕реАрдорд╛рдПрдВ рднреА рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣ рд╡рд┐рдзрд┐ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИред рдЗрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░реЙрдкрд░реНрдЯреА рд▓рд┐рд╕реНрдЯ (Plist) рд╕реЗ рдХрд╛рдлреА рдорд┐рд▓рддрд╛ - рдЬреБрд▓рддрд╛ рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рд╕рдорд╛рди рдкреНрд░рддрд┐рдмрдВрдз рд╣реИред рдпрд╣рд╛рдВ рдЫрд╣ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • NSData
  • NSDate
  • NSNumber
  • NSDictionary
  • NSString
  • NSArray

рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП, NSNumber рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

  • uint
  • рдЗрдВрдЯ
  • рдлреНрд▓реЛрдЯ
  • рджреЛрд╣рд░рд╛
  • рдмреВрд▓

рд╡рд╕реНрддреБрдУрдВ рдХреЛ NSUserDefaults рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдкрд╣рд▓реЗ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдмрдирд╛рдПрдВ рдЬреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рд╕рдВрдЪрд┐рдд рдХрд░реЗрдЧрд╛):

let keyConstant = "objectKey"

let defaults = NSUserDefaults.standardsUserDefaults()
defaults.setObject("Object to save", objectKey: keyConstant)

NSUserDefaults рд╕реЗ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

if let name = defaults.stringForKey(keyConstant) {
   print(name)
}

NSUserDefaults рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╣реИрдВ рдЬреЛ AnyObject рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

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

рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рд▓реЙрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╕реНрддрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреБрдВрдЬреА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рддрд░реАрдХреЗ рднреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрдкрд╛рдп рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред (рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреБрдВрдЬреА рд╕реНрдЯреЛрд░ рди рдХрд░реЗрдВ)

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

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

7 - рд╕рдВрдЧреНрд░рд╣ рджреГрд╢реНрдп рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рджреГрд╢реНрдп


рд▓рдЧрднрдЧ рд╣рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд▓реЗрдХреНрд╢рди рд╡реНрдпреВ рдФрд░ / рдпрд╛ рдЯреЗрдмрд▓ рд╡реНрдпреВ рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдирд╛ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░рддреЗ рд╣реИрдВ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЬрдЯрд┐рд▓ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд░реЛрдХреЗрдВрдЧреЗред

TableViews рдПрдХрд▓ рд╕реНрддрдВрдн рдореЗрдВ рдЖрдЗрдЯрдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ рд▓рдВрдмрд╡рдд рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЛ UITableViewCell рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрднрд╛рдЧреЛрдВ рдФрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

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

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

8 - рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдбреНрд╕ рд╡реАрдПрд╕ Xibs VS рдкреНрд░реЛрдЧреНрд░рд╛рдо рдпреВрдЖрдИ


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдЖрдкрдХреЛ рдЙрдирдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред

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

XibsрдЦрд┐рдбрд╝рдХреА рдпрд╛ рдЦрд┐рдбрд╝рдХреА рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рджреГрд╢реНрдп рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рд▓рд╛рдн рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛрддреА рд╣реИ, рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╡рд┐рд▓рдп рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдВрдбреЛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛрддреА рд╣реИред

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

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

9 - рдкреНрд░реЛрдЯреЛрдХреЙрд▓!


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

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

рдпрд╣рд╛рдВ рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ

рдЙрджрд╛рд╣рд░рдг рд╣реИ : рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдПрдХ рдЧрдгрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдЖрдЧ рдмреБрдЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИред

enum ExtinguisherType: String {

   case water, foam, sand

}

рдЖрдЧреЗ рдореИрдВ рдПрдХ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдирд╛рдКрдВрдЧрд╛ред

protocol RespondEmergencyProtocol {

   func putOutFire(with material: ExtinguisherType)

}

рдЕрдм рдореИрдВ рдПрдХ рдлрд╛рдпрд░рдореИрди рд╡рд░реНрдЧ рдмрдирд╛рдКрдВрдЧрд╛ рдЬреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред

class Fireman: RespondEmergencyProtocol {

    func putOutFire(with material: ExtinguisherType) {

       print("Fire was put out using \(material.rawValue).")

    }

}

рдареАрдХ! рдФрд░ рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдлрд╛рдпрд░рдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

var fireman: Fireman = Fireman()

fireman.putOutFire(with: .foam)

рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: "рдлреЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЧ рд▓рдЧрд╛рдИ рдЧрдИ рдереАред"

рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрди рдореЗрдВ рднреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрдХреНрд╖рд╛рдУрдВ рдпрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реМрдВрдкрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдЙрдирдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛред
рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг!

protocol FireStationDelegate: AnyObject {

func handleEmergency()

}

рдЕрдЧреНрдирд┐рд╢рдорди рд╡рд┐рднрд╛рдЧ рдЕрдЧреНрдирд┐рд╢рд╛рдордХ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрдкрд╛рдпреЛрдВ рдХреЛ рд╕реМрдВрдкрддрд╛ рд╣реИред

class FireStation {
   weak var delegate: FireStationDelegate?

   func emergencyCallReceived() {
      delegate?.handleEmergency()
   }
}

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлрд╛рдпрд░ рдлрд╛рдЗрдЯрд░ рдХреЛ рдлрд╛рдпрд░рд╕реНрдЯрд╛рд░рдбреЗрд▓реЗрдЧреЗрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдкрд╛рд▓рди рднреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

class Fireman: RespondEmergencyProtocol, FireStationDelegate {

   func putOutFire(with material: ExtinguisherType) {
      print("Fire was put out using \(material.rawValue).")
   }

   func handleEmergency() {
      putOutFire(with: .water)
   }

}

рд╕рднреА рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдлрд╛рдпрд░ рд╕реНрдЯреЗрд╢рди рдкрд░ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпреБрдХреНрдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрд▓ рдкрд░ рдлрд╛рдпрд░ рдлрд╛рдЗрдЯрд░ рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рд╡рд╣ рдкреНрд░рд╛рдкреНрдд рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдХреЙрд▓ рдХреЛ рд╕рдВрднрд╛рд▓ рд▓реЗрдЧрд╛ред

let firestation: FireStation = FireStation()
firestation.delegate = fireman
firestation.emergencyCallReceived()

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ: "рдкрд╛рдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЧ рд▓рдЧрд╛рдИ рдЧрдИ рдереАред"

10 - рд╢реЙрд░реНрдЯ рд╕рд░реНрдХрд┐рдЯ


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

рдХреНрд▓реЛрдЬрд░ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ *, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдиреЗрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдореЗрдВ рдмреНрд▓реЙрдХ)ред

рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреНрд▓реЛрдЬрд░ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИред

рд╕реНрд░реЛрдд - fuckingswiftblocksyntax.com **

рдХреНрд▓реЛрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдВрд╕рд╛рдзрди рдПрдХ рдмреЗрд╣рддрд░реАрди рдЬрдЧрд╣ рд╣реИред

* рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╡рд╕реНрддреБрдПрдБ - рдРрд╕реА рд╡рд╕реНрддреБрдПрдБ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдПрдХ рдЪрд░ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкрд╛рд╕ / рд╡рд╛рдкрд╕реА, рдирд┐рд╖реНрдкрд╛рджрди рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрдорд╛рдг / рдирд╖реНрдЯ рдХрд░рдирд╛ рдЖрджрд┐ред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА ред (рдЗрд╕рдХреЗ рдмрд╛рдж - рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдХ)
** рд╕рд╛рдЗрдЯ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрдХрдмреИрдХрдореИрдЪрд┐рди рдореЗрдВ рдЕрднреА рднреА рдЪрд┐рддреНрд░ рд╣реИрдВ, рдПрдХ рдЙрджрд╛рд╣рд░рдг ред


рдЧреНрдпрд╛рд░рд╣ - рдпреЛрдЬрдирд╛


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

рдмреИрдВрдЧрдиреА рдПрдХ рд╕рдВрднрд╡ рдкреИрдЯрд░реНрди рджрд┐рдЦрд╛рддрд╛ рд╣реИред

12 - рдЯреЗрд╕реНрдЯ


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

рдХреЗ рдбрд╛рдЙрдирд╕рд╛рдЗрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ :

  • рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рдордп рдореЗрдВ рд╡реГрджреНрдзрд┐;
  • рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдмрдврд╝рд╛рдПрдВред

рдкреЗрд╢реЗрд╡рд░реЛрдВ :

  • рдореЙрдбреНрдпреВрд▓рд░ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ (рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП);
  • рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛;
  • рд╕рдорд░реНрдерди рдХрд╛ рд╕рд░рд▓реАрдХрд░рдгред

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

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

13 - рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди


рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдХреЛрд░ рд▓реЛрдХреЗрд╢рди рдирд╛рдордХ рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЬрд░реВрд░рдд рдХреА рд╣рд░ рдЪреАрдЬ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

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

* рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордЭрд╛, рдпрд╣ iBeacon рддрдХрдиреАрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ

рдХреВрд▓, рд╣реИ рдирд╛? рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдПрдкреНрдкрд▓ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЙрджрд╛рд╣рд░рдг рд╡рд╣рд╛рдБ рдмреЗрд╣рддрд░ рдврд╛рдВрдЪреЗ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдПред

14 - рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рддрд╛рд░


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

рдлрд╝рд╛рдЗрд▓ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред NSLocalizedString рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:

NSLocalizedString(key:, comment:)

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

{
"APP_NAME" = "MyApp"
"LOGIN_LBL" = "Login"
...
}

рдЕрдм рдПрдХ рдФрд░ рднрд╛рд╖рд╛ (рдкреБрд░реНрддрдЧрд╛рд▓реА), рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓:

{
"APP_NAME" = "MinhaApp"
"LOGIN_LBL" = "Entrar"
...
}

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╣реБрд╡рдЪрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рднреА рд╣реИрдВред

рд╣рдореЗрд╢рд╛ рд╡рд╣реА рд╕реАрдЦрд╛ рдЬреЛ рдЖрдкрдиреЗ рд╕реАрдЦрд╛ рд╣реИред

- рдорд╛рд╕реНрдЯрд░ рдпреЛрджрд╛

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдорджрджрдЧрд╛рд░ рд░рд╣рд╛ рд╣реИ!

All Articles