Xcode 5 рдХреА рдЫрд┐рдкреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░рд╛рд╣реНрд░рд╛ рдХреЗ рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ!

Incoherent Development рдХреА рдЯреАрдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрд░реАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рд╕реНрдЯрд╛рд░реНрдЯ-рдЕрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Habrahabr рдХреЗ рдЪрдорддреНрдХрд╛рд░реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд╛рд░рдг рдПрдХ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдЦрд╛рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реАред рд╣рдо рд╡реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ 24 рдФрд░ 48 рдШрдВрдЯреЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд╛рд░рдг рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЬ рд╣рдо рдЖрд╡рд╢реНрдпрдХ, рд▓реЗрдХрд┐рди рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рдпрд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрди-рд▓рдЯрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдореБрдХреНрдд рдПрдирд╛рд▓реЙрдЧреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдиреЗрддреГрддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░рд╛ рд╕реНрд╡рд╛рдЧрдд рдкреЛрд╕реНрдЯ "рдХреБрдЫ рднреА рдирд╣реАрдВ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ, рдЖрдЬ рдореИрдВ Xcode 5 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреБрдЫ рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдБ рдЬреЛ iOS 7 Tech Talks рдореЗрдВ рдЭрд▓рдХрддреА рд╣реИрдВ ред рд╢рд╛рдо рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ:

  1. рдХреЛрдб рдкреВрд░рд╛ рд╣реЛрдирд╛: рдПрдХ рдХреБрдХреА рдЬреЛ рд╣рд░ рдХрд┐рд╕реА рдиреЗ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ
  2. рджрд╛рдпрд░реЗ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╣рд╛рд░реНрджрд┐рдХ рдЪреЙрдХрд▓реЗрдЯ рдХреЗрдХ
  3. рдЖрдИрдмреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕: рдЗрд╕ рд╕реНрдЯреНрд░рд╛рдмреЗрд░реА рдЬреЗрд▓реА рд╡реИрд░рд╛рдпрдЯреА рдХрд╛ рдирд╛рдо
  4. рдбрдмрд▓ рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░: рдЪреЙрдХрд▓реЗрдЯ рд╢реЗрдХ рдЪрд┐рд▓реНрдб рд╕рд░реНрд╡ рдХрд░реЗрдВ
  5. рдХрд▓рд░ рдмреНрд▓реЗрдВрдбреЗрдб рд▓реЗрдпрд░реНрд╕: рдЖрдк рд░рдо рдХреНрд░реАрдо рдареАрдХ рд╕реЗ рдирд╣реАрдВ рд▓рдЧрд╛ рд░рд╣реА рд╣реИрдВ
  6. рд╕рдорд╡рд░реНрддреА рд╡рд╕реНрддреБ рдЧрдгрдирд╛: рдкрд╛рдЙрдбрд░ рдХреЛрдЯ рд╕рднреА
  7. рд╕реНрдерд╛рдиреАрдпрдХрд░рдг: рд╣рд░ рдмрд╛рд░ рдУрд╡рди рдХреЛ рдЧрд░реНрдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ


рдХреЛрдб рдкреВрд░рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ


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

рдЫрд╡рд┐

рдЕрдм рдЖрдк рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:



рджрд╛рдпрд░реЗ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдмреМрджреНрдзрд┐рдХ рдорд╣рддреНрд╡ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:



рддреНрд░реБрдЯрд┐ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рднреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ: рд╣рдордиреЗ рдЙрд╕реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдореМрдЬреВрджрд╛ рдЪрд░ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЪрд░ рд╕рдВрдЦреНрдпрд╛ рдмрдирд╛рдпрд╛ред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреЗрди рдХреЗ рд╕рд╛рде рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрд▓рд╕реНрдп? рдЕрдЧрд░ рд╕рдордп рди рд╣реЛ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд▓реЗрдХрд┐рди рдЖрдк Cmd + F рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИ! рдирд╣реАрдВ, рдирд╣реАрдВ рдФрд░ рдирд╣реАрдВред рдЕрдм рдЖрдк рдПрдХ рдЪрд░ рдкрд░ рдШреВрдо рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рддреНрд░рд┐рдХреЛрдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:



рдЗрд╕ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рд╣рдо рдкреЛрд╖рд┐рдд "рд╕реНрдХреЛрдк рдореЗрдВ рд╕рднреА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ" рдХреЗ рд╕рд╛рде рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд▓рд╛рддреЗ рд╣реИрдВ:



рдпрд╣рд╛рдБ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:



рдФрд░ рдЧрд░реНрдо рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рдВрдпреЛрдЬрди (рд╕реЗрдореА + рдХрдВрдЯреНрд░реЛрд▓ + рдИ) рд╣реИ:



рдЖрдИрдмреА рд╡рд╕реНрддреБрдУрдВ


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



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



рджреЛрд╣рд░реА рд╕реНрдерд┐рддрд┐ рдкрдЯреНрдЯреА


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



рдХрд┐рд╕реА рдЗрдирдХрдорд┐рдВрдЧ рдХреЙрд▓ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ рдмрд╛рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╛ рддреЛ NSNotificationCenter рдХреЛ рд╕реБрдирдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

UIApplicationWillChangeStatusBarFrameNotification UIApplicationDidChangeStatusBarFrameNotification 

рдпрд╛ рдЕрдкрдиреЗ AppDelegate рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ:

 - (void)application:(UIApplication *)applicationwillChangeStatusBarFrame:(CGRect)newStatusBarFrame; - (void)application:(UIApplication *)applicationdidChangeStatusBarFrame:(CGRect)oldStatusBarFrame; 

рд░рдВрдЧ рдорд┐рд╢реНрд░рд┐рдд рдкрд░рддреЗрдВ


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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рджрд╛ рд╕рдлреЗрдж UITableView рд▓реЗрдВ рдФрд░ рд░рдВрдЧ рдорд┐рд╢реНрд░рд┐рдд рдкрд░рддреЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:



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



рдмрд╛рдж рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЖрдВрдЦ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ:



рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╕реНрд╡реАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ "рдУрдкреЗрдХ" рдХреЛ рдЯрд┐рдХ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред Xcode рдЖрдкрдХреА рдкрд╛рд░рджрд░реНрд╢реА рддрд╕реНрд╡реАрд░реЛрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реИ (рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╡реЗ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рд╣реИрдВ), рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдЙрд╕реЗ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рддрд╕реНрд╡реАрд░ рдкрд╛рд░рджрд░реНрд╢реА рдирд╣реАрдВ рд╣реИ - рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрд╕реЗ рдЫрд▓реЗрдВ - рд╡рд╣ рд╕рдореНрдорд╛рди рдХреЗ рд▓рд┐рдП рднреА рдРрд╕рд╛ рд╣реА рдХрд░реЗрдЧрд╛ рдФрд░ рддрд╕реНрд╡реАрд░ рдХреЛ рдкрд╛рд░рджрд░реНрд╢реА рдмрдирд╛рдПрдЧрд╛ред рдЬрдм рдЖрдкрдХреЛ рдПрдХ рдЫрд╡рд┐ рдЕрдкрд╛рд░рджрд░реНрд╢реА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рддреЛ рдЗрд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдХрд░реЗрдВред Xcode рдЪрд┐рддреНрд░ рдХреЛ рдХреЗрд╡рд▓ рдЕрдкрд╛рд░рджрд░реНрд╢реА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдЬрдм рдЪрд┐рддреНрд░ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд╕рдорд╡рд░реНрддреА рд╡рд╕реНрддреБ рдЧрдгрдирд╛


рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:

 NSArray *myObjects = ...; [myObjects enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(id obj, NSUInteger idx, BOOL *stop) { //  -    }]; 


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

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


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



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



"рдбреБрдкреНрд▓реАрдХреЗрдЯ рд╕реНрдХреАрдо" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



B рджреЛ рдЭрдВрдбреЗ рдЬреЛрдбрд╝реЗрдВ: "-AppleLanguages тАЛтАЛ(ru)" рдФрд░ "-AppleLocale ru_RU" (рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рддреЛ рд╕реНрдерд╛рдиреАрдп рдирд╛рдо Google рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП):



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



рдирд┐рд╖реНрдХрд░реНрд╖


рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВрдбреАрд╕реА рдФрд░ рдЕрдиреНрдп рд╕рдореНрдореЗрд▓рдиреЛрдВ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рд╣рдм рдкрд░ рдлреИрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛: рдХрднреА-рдХрднреА 10 рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдкрд╛рда рдкрдврд╝рдиреЗ рдореЗрдВ 40 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ, рдЯреЗрдХ рдЯреЙрдХ рдХреЛ рд╕реВрдЪрдирд╛ рдХреА рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде рд╕реБрдирдирд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдЬреЛрд░ рджреЗрдХрд░ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ iOS рдбреЗрд╡рд▓рдкрд░ рд╕реНрд╡-рд╢рд┐рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЗрди рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 2-3 рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВред

рд╡реИрд╕реЗ, рдЕрдлрд╡рд╛рд╣реЗрдВ рд╣реИрдВ рдХрд┐ рдЕрдЧрд▓рд╛ рдкреНрд░рд╕рд╛рд░рдг рдХреНрд░рд┐рд╕рдорд╕ (25 рджрд┐рд╕рдВрдмрд░) рдкрд░ рд╣реЛрдЧрд╛ рдФрд░ рд╣рдо рдРрдк рд╕реНрдЯреЛрд░ рд╕реЗ "рд╣реЗрдбреНрд╕ рдЕрдк" рдЬреИрд╕реЗ рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ "рд╣рддреНрдпрд╛рд░рд╛ рдХреНрд▓реЛрди" рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд░реВрд╕реА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд╕рд╛рдеред

рдпрд╣рд╛рдВ рд╣рдо рд╣реИрдВ - рдЗрдирдХреЛрд╣реЗрд░реЗрдВрдЯ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреА рдЯреАрдо: рдЪрд┐рддреНрд░реЛрдВ, рдореЗрдШреЛрдВ рдФрд░ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рдПрдХ рдмрд╛рджрд▓ рдХреЗ рд╕рд╛рдеред

рдкреБрдирд╢реНрдЪ рдпрджрд┐ рдЖрдкрдХреЛ рдкрд╛рда рдореЗрдВ рдХреЛрдИ рдЧрд▓рддреА рдпрд╛ рдЯрд╛рдЗрдкреЛ рд▓рдЧрддрд╛ рд╣реИ - рддреЛ рдореЗрд░реЗ рд╣реИрдмрд░рд╕реЗрдВрдЯрд░ рдкрд░ рд▓рд┐рдЦрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред

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


All Articles