IOS рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрдиред рдкреНрд░реЗрдХреНрд╖рдХ рднрд╛рдЧ I

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЕрдЧреНрд░рджреВрдд


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

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


рдСрдмреНрдЬрд░реНрд╡рд░ рдкреИрдЯрд░реНрди


рдЬреАрд╡рди рдЙрджрд╛рд╣рд░рдг

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

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

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

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

рдЫреЛрдЯрд╛ рдЙрджрд╛рд╣рд░рдг

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

рдкрд░рд┐рднрд╛рд╖рд╛

рдЪрд╛рд░ рдХрд╛ рдЧрд┐рд░реЛрд╣



рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

рд╕рдВрд░рдЪрдирд╛

рдЫрд╡рд┐

IOS рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬрд░реНрд╡рд░


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

рдЦреБрдж рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

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

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

рд╣рдо рдЕрдзреНрдпрдпрди рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдкреИрдЯрд░реНрди рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВред

@protocol GameStateObserver <NSObject>

- ( рд╢реВрдиреНрдп ) рдкреВрд░реНрдгрд╡реГрддреНрдд : ( рд╕реНрддрд░ * ) рд╕реНрддрд░ withScore : ( NSUInteger ) рд╕реНрдХреЛрд░;

@end


рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдкрд╛рд░рджрд░реНрд╢реА рд╣реИ: рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ GameStateObserver рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред рд╣рдо рд╡рд┐рд╖рдп рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред

@protocol GameStateSubject <NSObject>

- ( рд╢реВрдиреНрдп ) addObserver : ( рдЖрдИрдбреА <GameStateObserver> ) рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ;
- ( рд╢реВрдиреНрдп ) рдирд┐рд╖реНрдХрд╛рд╕рди : ( рдЖрдИрдбреА <GameStateObserver> ) рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ;
- ( рд╢реВрдиреНрдп ) InformObservers;

@end


рдЖрдЗрдП рдЙрди рд╡рд░реНрдЧреЛрдВ рдХреА рдУрд░ рдмрдврд╝реЗрдВ рдЬреЛ рд╣рдорд╛рд░реА рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдЦреЗрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ GameState рд╡рд░реНрдЧ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рддрдм рдЗрд╕рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:

@interface GameState : NSObject <GameStateSubject> {
...
NSMutableSet * observerCollection;
}

@property (рдЖрд╕рд╛рдиреА рд╕реЗ ) рд╕реНрддрд░ * рд╕реНрддрд░;
@property (рдЖрд╕рд╛рдиреА рд╕реЗ ) NSUInteger рд╕реНрдХреЛрд░;

...
- ( рд╢реВрдиреНрдп ) updateState;

@end


рдЙрд╕реА рд╕рдордп, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ updateState рд╡рд┐рдзрд┐ updateState рд╣рд░ рдмрд╛рд░ рдЦреЗрд▓ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ GameState рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ:

@ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди GameState

...
- ( рд╢реВрдиреНрдп ) addObserver : ( рдЖрдИрдбреА <GameStateObserver> ) рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ {
[ observerCollection addObject : рдСрдмреНрдЬрд░реНрд╡рд░ ] ;
}

- ( рд╢реВрдиреНрдп ) рдирд┐рд╖реНрдХрд╛рд╕рди : ( рдЖрдИрдбреА <GameStateObserver> ) рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ {
[ observerCollection removeObject : рдСрдмреНрдЬрд░реНрд╡рд░ ] ;
}

- ( рд╢реВрдиреНрдп ) InformObservers {
рдХреЗ рд▓рд┐рдП ( рдЖрдИрдбреА <GameStateObserver> рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдореЗрдВ рдкреНрд░реЗрдХреНрд╖рдХ )
[ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдкреВрд░рд╛ рдХрд░реЗрдВ : рд╕реНрд╡.рд▓реЗрд╡рд▓ withScore : self.score ] ;
}
}

- ( рд╢реВрдиреНрдп ) updateState {
...
рдЕрдЧрд░ ( рд╕рдореНтАНрдорд┐рд▓рд┐рдд )
[ рдЖрддреНрдо рд╕реВрдЪрдирд╛рдХрд░реНрддрд╛ ] ;
}
}

@end


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

GameState * gameState = [ [ GameState рдЖрд╡рдВрдЯрд┐рдд ] init ] ;
[ gameState addObserver : levelManager ] ;
[ gameState addObserver : levelViewController ] ;


рдпрд╣рд╛рдВ levelViewController рдЧреЗрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ, рдФрд░ levelManager рдПрдХ рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рд╕реНрддрд░реЛрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред

рдЪрд░реНрдЪрд╛

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

@protocol GameStateObserver <NSObject>

- ( рд╢реВрдиреНрдп ) levelCompleted : ( рдЖрдИрдбреА <GameStateSubject> ) рд╡рд┐рд╖рдп;

@end


GameStateSubject рдХрд╛ рд╕рдВрдЧрдд рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

@protocol GameStateSubject <NSObject>

- ( рд╢реВрдиреНрдп ) addObserver : ( рдЖрдИрдбреА <GameStateObserver> ) рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ;
- ( рд╢реВрдиреНрдп ) рдирд┐рд╖реНрдХрд╛рд╕рди : ( рдЖрдИрдбреА <GameStateObserver> ) рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ;
- ( рд╢реВрдиреНрдп ) InformObservers;

@property (рдЖрд╕рд╛рдиреА рд╕реЗ ) рд╕реНрддрд░ * рд╕реНрддрд░;
@property (рдЖрд╕рд╛рдиреА рд╕реЗ ) NSUInteger рд╕реНрдХреЛрд░;

@end


рдХреЛрдХреЛ рдореЗрдВ рдкреНрд░реЗрдХреНрд╖рдХ: рд╕реВрдЪрдирд╛рдПрдВ

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

рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдЕрдзрд┐рд╕реВрдЪрдирд╛ рддрдВрддреНрд░ рдЖрдкрдХреЛ рджреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ / рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬреЗрдВред рдПрдХ рдЪреЗрддрд╛рд╡рдиреА NSNotification рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЕрд▓рд░реНрдЯ рдЙрдирдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╛рдо NSString name рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдирд╛рдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрд▓рд░реНрдЯ рдореЗрдВ рд╡рд┐рд╖рдп рдЗрдХрд╛рдИ рдФрд░ userInfo рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд userInfo рдбреЗрдЯрд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред

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

рдПрдХ рд╕рдВрджреЗрд╢ рдХреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗрдВрджреНрд░ рдореЗрдВ addObserver:selector:name:object: рд╡рд┐рдзрд┐ рд╣реИред рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рд╣реИ, рджреВрд╕рд░рд╛ рдЪрдпрдирдХрд░реНрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкрд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХрд╛ рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - (void)methodName:(NSNotification *) ред рддреАрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрд▓рд░реНрдЯ рдХрд╛ рдирд╛рдо рд╣реИ, рдЪреМрдерд╛ рд╡рд┐рд╖рдп рд╣реИред рдпрджрд┐ рдЖрдк рд╡рд┐рд╖рдп рдХреЗ рд░реВрдк рдореЗрдВ nil рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЛ рдПрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдкреНрд░реЗрд╖рдХ рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдмрд╢рд░реНрддреЗ рдХрд┐ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реЛ)ред рдЕрд▓рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╕рджрд╕реНрдпрддрд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

GameState * gameState = [ [ GameState рдЖрд╡рдВрдЯрд┐рдд ] init ] ;
[ [ NSNotificationCenter defaultCenter ] addObserver : levelManager
рдЪрдпрдирдХрд░реНрддрд╛ : @ рдЪрдпрдирдХрд░реНрддрд╛ ( рд╕рдореНтАНрдорд┐рд▓рд┐рдд :)
рдирд╛рдо : @ "LevelCompletedNotification" рдСрдмреНрдЬреЗрдХреНрдЯ : gameState ] ;
[ [ NSNotificationCenter defaultCenter ] addObserver : levelViewController
рдЪрдпрдирдХрд░реНрддрд╛ : @ рдЪрдпрдирдХрд░реНрддрд╛ ( рд╕рдореНтАНрдорд┐рд▓рд┐рдд :)
рдирд╛рдо : @ "LevelCompletedNotification" рдСрдмреНрдЬреЗрдХреНрдЯ : gameState ] ;


levelCompleted: рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг levelCompleted:

- ( рд╢реВрдиреНрдп ) рд╕реНрддрд░ рдкрд░ рд░рдЦрд╛ : ( NSNotification * ) рдЕрдзрд┐рд╕реВрдЪрдирд╛ {
рдЖрдИрдбреА <GameStateSubject> рд╡рд┐рд╖рдп = [ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╡рд╕реНрддреБ ] ;
рд╕реНрддрд░ * рд╕реНрддрд░ = рд╡рд┐рд╖рдп.рд▓рд┐рд╡рд░;
NSUInteger score = subject.score;
}


рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдЖрдк GameStateSubject рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ GameState рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрд▓рд░реНрдЯ рд╕реЗ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ removeObserver: рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ removeObserver: рдпрд╛ removeObserver:name:object: рдореЗрдердбреНрд╕ред

рдЕрд▓рд░реНрдЯ рднреЗрдЬрдирд╛ рдФрд░ рднреА рд╕рд░рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ postNotificationName:object: рдФрд░ postNotificationName:object:userInfo: ред рдкрд╣рд▓рд╛ рд╕реЗрдЯ userInfo nil userInfo ред notifyObservers рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИред

- ( рд╢реВрдиреНрдп ) InformObservers {
[ [ NSNotificationCenter defaultCenter ]
PostNotificationName : @ "LevelCompletedNotification" рдСрдмреНрдЬреЗрдХреНрдЯ : рд╕реНрд╡рдпрдВ ] ;
}


рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

рдПрдХ рдЖрдлреНрдЯрд░рд╡рд░реНрдб рдХреЗ рдмрдЬрд╛рдп


рдЖрдЗрдП рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рд╣рдордиреЗ рдХреНрдпрд╛ рд╕рдореАрдХреНрд╖рд╛ рдХреА рдФрд░ рд╕реАрдЦрд╛ рд╣реИред рддреЛ рд╣рдо:

рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЕрд╡рд▓реЛрдХрди рддрдВрддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВрдЧреЗ, рдЬреЛ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдкреИрдЯрд░реНрди рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЖрдЧреЗ рдХрдИ рдФрд░ рдкреИрдЯрд░реНрди рд╣реИрдВ!

рдЙрдкрдпреЛрдЧреА рд╕реНрд░реЛрдд


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


All Articles