LLDB рдореЗрдВ Xcode рдФрд░ рдЙрдиреНрдирдд рдбрд┐рдмрдЧрд┐рдВрдЧ: рднрд╛рдЧ 1

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

WWDC 2018 рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рд╕рдмрд╕реЗ рдкреЗрдЪреАрджрд╛ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдПрд▓рдУрдбреАрдмреА рдореЗрдВ Xcode рдФрд░ рдЙрдиреНрдирдд рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ Apple рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдмрдЧреНрд╕ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Xcode рдФрд░ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдбрд┐рдмрдЧрд░ (LLDB) рдореЗрдВ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕реБрдЭрд╛рд╡ рджрд┐рдП, рдЬрд╣рд╛рдБ рднреА рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдЙрдиреНрд╣реЗрдВ рдкрдХрдбрд╝рд╛ред

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

рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ

рдореИрдВрдиреЗ рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЯрд╛рд╕реНрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рд╣рд░ iOS рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдорд┐рд▓рд╛ рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╣реИрдВ:

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

рдпрджрд┐ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдпрд╣рд╛рдВ рд╕реЗ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рд╕реНрд╡рд┐рдлреНрдЯ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рд╕реЗ ред

Xcode рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдЪрд▓реЗрдВ!

рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреАрдбрд╝реЗ!

рдЗрд╕рд▓рд┐рдП, рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рд╕рдВрднрд╡рддрдГ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛:

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

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

рдирд┐рд░реНрджреЗрд╢ рдЯреАрдореЛрдВ рдХреА рд╢рдХреНрддрд┐

рдЪрд▓реЛ рдкрд╣рд▓реЗ рдмрдЧ рддрдХ рдЙрддрд░реЗрдВред

1. рдЬрдм рдЖрдк рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдиреАрдЪреЗ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рдкреЛрд╕реНрдЯ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ:

  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, рдкрд╣рд▓реЗ 10 рдкреЛрд╕реНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рд╣реИрдВред
  • рдЕрдзрд┐рдХ рдкреЛрд╕реНрдЯ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред
  • рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╢реБрд░реБрдЖрдд рддрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЦреАрдВрдЪреЗрдВред
  • рдирдП рдкреЛрд╕реНрдЯ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкреЛрд╕реНрдЯ рдХрд╛рдЙрдВрдЯрд░ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

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

рдЫрд╡рд┐
рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА

рдЫрд╡рд┐
рддреАрд╡реНрд░

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдбреАрдмрдЧрд░ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред рдЖрдЧреЗ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП, рдбрд┐рдмрдЧрд░ рдХреЗ "рдмреНрд▓реЙрдХ рдЫреЛрдбрд╝реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдЫрд╡рд┐
рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА

рдЫрд╡рд┐
рддреАрд╡реНрд░

рдЕрдм рд╣рдореЗрдВ рд╕рдордЭ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ!

рдпрджрд┐ рд╢рд░реНрдд рдкреВрд░реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рдЕрд░реНрдерд╛рдд, рдмреВрд▓рд┐рдпрди рдЪрд░ isPullDownToRefreshEnabled NO рдкрд░ рд╕реЗрдЯ рд╣реИ) рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЕрджреНрдпрддрди рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдпрд╛ "рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ" рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рдПрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдПрдХреНрд╢рди рдЯрд╛рдЗрдк "рдбреАрдмрдЧрд░ рдХрдорд╛рдВрдб" рднреА рдЪреБрдиреЗрдВред

рдЫрд╡рд┐

рдЕрдм рд╣рдореЗрдВ isPullDownToRefreshEnabled рд╕рдВрдкрддреНрддрд┐ рдХреЛ YES / true рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдбреАрдмрдЧрд░ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдЖрджреЗрд╢ рдЬреЛрдбрд╝реЗрдВред

рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА

expression self.isPullDownToRefreshEnabled = YES 


рдЫрд╡рд┐

рддреАрд╡реНрд░

 expression self.isPullDownToRefreshEnabled = true 

рдЫрд╡рд┐

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

рд╡реЛрдЗрд▓рд╛, рдирдП рдкреЛрд╕реНрдЯ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдФрд░ рдкреБрд░рд╛рдиреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдкреЛрд╕реНрдЯ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

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

2. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рдЕрд▓рд░реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдЬреЛ HTTP рдЕрдиреБрд░реЛрдз рдХрдиреЗрдХреНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ:

  • рдЕрдкрдиреЗ iPhone / рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
  • рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╢реБрд░реБрдЖрдд рддрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ рдФрд░ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЦреАрдВрдЪреЗрдВред
  • рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдирдП рдкреЛрд╕реНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╕реВрдЪрдирд╛ рдирд╣реАрдВ рджреА рдЧрдИ рд╣реИред

Pragma рдорд╛рд░реНрдХ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реЗрдХреНрд╢рди рдореЗрдВ PostTableViewController рдкрд░ рдЬрд╛рдПрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ loadPosts рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдпрд╣ рдПрдХ GET HTTP рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдВрдзрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ "рд╕рдлрд▓рддрд╛" рдкреВрд░реНрдг рд╣реИрдВрдбрд▓рд░ рдпрд╛ NSError рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ "рд╡рд┐рдлрд▓рддрд╛" рдкреВрд░реНрдг рд╣реИрдВрдбрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрджреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИред

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

рд▓рд╛рдЗрди рдХреЗ рдмрд╛рдж "рдЕрд╕рдлрд▓" рдХреНрд▓реЛрдЬрд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ

рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА

 [self updateUIForNetworkCallEnd]; 

рддреАрд╡реНрд░

 self.updateUIForNetworkCallEnd() 

рд╕реНрдерд╛рдкрд┐рдд рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдпрд╛ "рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ" рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рдПрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдПрдХреНрд╢рди рдЯрд╛рдЗрдк "рдбреАрдмрдЧрд░ рдХрдорд╛рдВрдб" рднреА рдЪреБрдиреЗрдВред

рдбреАрдмрдЧрд░ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдЖрджреЗрд╢ рдЬреЛрдбрд╝реЗрдВред

рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА

 expression [self presentNetworkFailureAlertController] 

рдЫрд╡рд┐

рддреАрд╡реНрд░

 expression self.presentNetworkFailureAlertController() 

рдЫрд╡рд┐

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

рдЫрд╡рд┐

рд╣рдордиреЗ рдЕрднреА-рдЕрднреА рдЬреЛ рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕реЗ " рдмреНрд░реЗрдХрд┐рдВрдЧ " рдХреЛрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдбрд┐рдмрдЧрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕рд╛рд░рд╛рдВрд╢

рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдбрд┐рдмрдЧрд░ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдПрдХ рдореМрдЬреВрджрд╛ рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
  • рдХреЛрдб рдХреА рдПрдХ рдирдИ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВред

рджреЛрдиреЛрдВ рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдХрд┐рдП рдЧрдП рдереЗред рд╣рдореЗрдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЖрдЧреЗ рдХреНрдпрд╛?

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

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


All Articles