рдЖрдИрдУрдПрд╕ 5 рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдПрдорд╡реАрд╕реА рдпрд╛ рдХреИрд▓рдХреБрд▓реЗрдЯрд░

рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕


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

рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рдд рдЖрдИрдЯреНрдпреВрдиреНрд╕рдпреВ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрдХреВрд▓ рдереАред рдпрд╣рд╛рдВ рдореБрдЭреЗ рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдпреВрдирд┐рд╡рд░реНрд╕рд┐рдЯреА рдореЗрдВ Apple рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рд┐рдЦрд╛рдП рдЧрдП CS 193P рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдорд┐рд▓рд╛ред рд╡реНрдпрд╛рдЦреНрдпрд╛рди рднрд╛рд╖рд╛ рдФрд░ рдореВрд▓ рдврд╛рдВрдЪреЗ рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдПрдХ BUT - рд╡реНрдпрд╛рдЦреНрдпрд╛рди рд╣реИ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИ, рдХреНрдпреЛрдВрдХрд┐ Aple рдЗрди рд╡реНрдпрд╛рдЦреНрдпрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪреБрдиреЗ рдЧрдП рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬреЛ рд▓реЛрдЧ 8 рдорд╣реАрдиреЗ рддрдХ USA рдореЗрдВ рд░рд╣рддреЗ рдереЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдореВрд▓ рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рджреЗрдЦрдиреЗ рдФрд░ "рджреЗрд╢реА рд╡рдХреНрддрд╛рдУрдВ" рдХреЗ рд╕рд╛рде рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджрд┐рдпрд╛ (рд╕рд┐рд░реНрдл рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) ред

рдЪреВрдВрдХрд┐ рд╣рд░ рд╕рд╛рд▓ Xcode рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдХреЗ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рд╕реЗрдореЗрд╕реНрдЯрд░ рдореЗрдВ рджреЗрд░ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рднрд╛рдЧ (!) рдкрд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рд╢рд░рдж рдЛрддреБ 2010 рдХреЗ рд╡реНрдпрд╛рдЦреНрдпрд╛рдиреЛрдВ рдХреЛ рд╕реБрдирд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо xcode 4.2 рдореЗрдВ рд▓рд┐рдЦреВрдВ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг 3 рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдБ рдореИрдВ рдУрдмрдЬреЗрдХ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рджреВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдореИрдВ рдирдВрдЧреЗ рдЕрднреНрдпрд╛рд╕ рдХрд░реВрдБрдЧрд╛ред

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдореИрдВ Xcode 4.2, iOS SDK 5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдпрд╣ рд╕рдм Mac OS X 10.7.2 Lion рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рд╢реАрд░реНрд╖рдХ рд╕реЗ рдиреЛрдЯрд┐рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВ (рд╡реНрдпрд╛рдЦреНрдпрд╛рддрд╛) рдПрдорд╡реАрд╕реА рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ iOS рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдХреЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╣рдо рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рд▓рд┐рдЦреЗрдВрдЧреЗред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЬреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рдХреЛ рдЬреЛрдбрд╝, рдШрдЯрд╛, рдЧреБрдгрд╛, рднрд╛рдЧ рдФрд░ рдирд┐рдХрд╛рд▓реЗрдЧрд╛ред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧреА:
1. рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХрд╛ рджрд┐рдорд╛рдЧ рд╣реЛрдЧрд╛ рдЬреЛ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ (рдорд╕реНрддрд┐рд╖реНрдХ рд╡рд░реНрдЧ) - рдореЙрдбрд▓ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдЧрд╛;
2. рд╣рдо рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ рдХрд┐ рдмрдЯрди рдХреНрд▓рд┐рдХ рд╕рдВрднрд╛рд▓ рд▓реЗрдВрдЧреЗ;
3. рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рджреГрд╢реНрдп рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрд╢рд╛ рдирдП рдмрдиреЗ рдЖрдИрдУрдПрд╕ рдПрдиреНрдХреЛрдбрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдЗрд╕ рдкрд░ рдФрд░ рдмрд╛рдж рдореЗрдВред

рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛


рддреЛ, рдЪрд▓реЛ рдПрдХ рдкреНрд░реЙрдХреНрдЯ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ - рдирдпрд╛ - рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЬрд╛рдПрдВред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдХреБрд▓ рд╕реЗрдЯ рдореЗрдВ, "рд╕рд┐рдВрдЧрд▓ рд╡реНрдпреВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдЪреБрдиреЗрдВред рдореИрдВ Calc рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд╛рдо рджреВрдВрдЧрд╛ред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп, рдореИрдВрдиреЗ "рдпреВрдЬрд╝ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ: рдкреБрд░рд╛рдиреЗ .xib рдХреЗ рдмрдЬрд╛рдп SDK 5 рдореЗрдВ, рдПрдХ рдирдпрд╛ .storyboard рдкреНрд░рд╛рд░реВрдк рд╕рд╛рдордиреЗ рдЖрдпрд╛ рд╣реИред рд╡реЗ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдИрдмреА (рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрдВрдЯрд░рдлреЗрд╕ рдмрд┐рд▓реНрдбрд░) рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рдЬрдорд╛рдиреЗ рдХреА рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ (рдкреНрд░реЛрд╕реЗрд╕рд░) рдХреЗ рджрд┐рдорд╛рдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдЧрд╛ред CMD + N рджрдмрд╛рдПрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХреНрд▓рд╛рд╕ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ NSObject рдХреНрд▓рд╛рд╕ рдХрд╛ CalcBrain рдЙрдкрд╡рд░реНрдЧ рдХрд╣реЗрдВ, рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рджрд┐рдорд╛рдЧ рдХреЛ рдмреБрдирд┐рдпрд╛рджреА рддрд░реАрдХреЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗрдВред рдЕрдм рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рджреЛ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ: CalcBrain.h рдФрд░ CalcBrain.m

рдЪрд▓реЛ ViewController.h рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдорд╛рдирдХ UIKit рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЖрдпрд╛рдд рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдШреЛрд╖рдгрд╛ред рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд╛рддреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреА рд╣реЛрдЧреА:

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

рддреЛ рдЪрд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред

#import <UIKit/UIKit.h> #import "CalcBrain.h" @interface ViewController : UIViewController { IBOutlet UILabel *display; CalcBrain *brain; } -(IBAction)digitPressed:(UIButton *)sender; //++ -(IBAction)operationPressed:(UIButton *)sender; //++ @end 


рдпрд╣рд╛рдВ рдореИрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХреЛ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рдирд╣реАрдВ - рдЕрдлрд╕реЛрд╕, рдореИрдВ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдУрдУрдкреА рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреБрдирд┐рдпрд╛ рдХреА рдЕрдиреНрдп рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ)ред

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рд░реНрдорд╛рдг


рдЕрдм рд╣рдо рдХреЛрдб рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдм рдЖрдкрдХрд╛ рд╕рд╛рд░рд╛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ рдХрдИ рд╢реБрд░реБрдЖрдд рдХреЛрдбрд░ рдмрд┐рдирд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдареАрдХ рдареАрдХ рд╣реЛ рдЧрдП
рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдФрд░ рдЙрдирдХреЗ рд╣рд╛рде рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ред ViewController.xib рдЦреЛрд▓реЗрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╡рд╕реНрддреБрдУрдВ рдХреЛ рджреЗрдЦреЗрдВ:
рдлрд╛рдЗрд▓реНрд╕ рдХрд╛ рдорд╛рд▓рд┐рдХ - рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдХрдХреНрд╖рд╛ рдореЗрдВ рджрд┐рдП рдЧрдП xib рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ ViewController- рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдЖрдЙрдЯрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ);
рдкрд╣рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
рджреЗрдЦреЗрдВ - рд╕реАрдзреЗ рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрдЯрди рдмрдирд╛рдПрдВред рдЪрд▓реЛ рдирдВрдмрд░реЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рд╣рдо рдкрд╣рд▓рд╛ рдЕрдВрдХ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рд╛рдд рд╣реЛрдЧрд╛ред

рдЫрд╡рд┐

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

рдЫрд╡рд┐

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

рдЫрд╡рд┐

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

рдЫрд╡рд┐

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

рдЫрд╡рд┐
рдЫрд╡рд┐

рд╣рдо рдХреЛрдб рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ


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

CalcBrain.h рдлрд╝рд╛рдЗрд▓ рдкрд╛рда

 #import <Foundation/Foundation.h> @interface CalcBrain : NSObject { double operand; } -(void)setOperand:(double)aDouble; -(double)performOperation:(NSString *)operation; @end 


рдСрдкрд░реЗрдВрдб рдЪрд░ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХреНрд▓рд╛рд╕ рдХреЗ рддрд░реАрдХреЗ - рд╕рдм рдХреБрдЫ рдмрд╕ рд╕реЗрдЯрдСрдкрд░реИрдВрдб рд╣реИ рдЬреЛ рдСрдкрд░реЗрдВрдб рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реЗрдЯрд░ рд╣реИред @Syntesuze рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрдХ рдЧреЗрдЯрд░ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рдЪрд▓реЛ рдПрдХ рдРрд╕реА рдмреИрд╕рд╛рдЦреА рдХреЗ рд╕рд╛рде рдорд┐рд▓рддрд╛ рд╣реИред рдЕрдм рд╣рдо рдЕрдкрдиреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред

 - (void)setOperand:(double)aDouble{ operand = aDouble; } - (double)performOperation:(NSString *)operation{ if ([operation isEqual:@"sqrt"]) { operand = sqrt(operand); } return operand; } 


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

рдЖрдЗрдП рдПрдХ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ:
 @interface CalcBrain : NSObject { double operand; NSString *waitingOperation; double waitingOperand; } 


рдФрд░ рд╡рд┐рд╡рд░рдг:

 - (double)performOperation:(NSString *)operation{ if ([operation isEqual:@"sqrt"]) { operand = sqrt(operand); } else { [self performWaitingOperation]; waitingOperation = operation; waitingOperand = operand; } return operand; } 


PerformWaitingOperation рдкрджреНрдзрддрд┐ рд╕реАрдзреЗ рдСрдкрд░реЗрдВрдб рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реНрд╡рдпрдВ рдХрд░реЗрдЧреА рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдСрдкрд░реЗрдВрдб (sqrt) рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИред

 -(void)performWaitingOperation { if ([@"+" isEqual:waitingOperation]) { operand = waitingOperand + operand; } else if ([@"*" isEqual:waitingOperation]) { operand = waitingOperand * operand; } else if ([@"-" isEqual:waitingOperation]) { operand = waitingOperand - operand; } else if ([@"/" isEqual:waitingOperation]) { if (operand) { operand = waitingOperand / operand; } } } 


CalcBrain.h рдореЗрдВ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рд┐рд╕реНрдорд░рдгреАрдп рдирд╣реАрдВ рд╣реИ

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрдВрдЯреНрд░реЛрд▓рд░


рдХрд┐рддрдирд╛ рдЧрд░реНрд╡ рдорд╣рд╕реВрд╕ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рдПрдВред рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдкрд╣рд▓реЗ рд╕реЗ рдШреЛрд╖рд┐рдд рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рд╡реИрд╕реЗ, ViewController.m рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрдирд╛рдП рдЧрдП Xcode рдХреЛ рдорд┐рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрд▓рд╡рд┐рджрд╛ред рдЗрд╕ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рдо рд╕рднреА рдХреА рдЬрд░реВрд░рдд рд╣реИ:

 #import "ViewController.h" @implementation ViewController -(IBAction)digitPressed:(UIButton *)sender { } -(IBAction)operationPressed:(UIButton *)sender { } @end 


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

 -(IBAction)operationPressed:(UIButton *)sender { NSString *operation = [[sender titleLabel] text]; } 


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

 -(CalcBrain *)brain { if (!brain) brain = [[CalcBrain alloc] init]; return brain; } 


рдФрд░ рд╣рдо рдСрдкрд░реЗрд╢рди рдХреЛ рджрдмрд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВрдЧреЗ, рдПрдХ рд╕рдВрджрд░реНрдн рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ:

 -(IBAction)operationPressed:(UIButton *)sender { NSString *operation = [[sender titleLabel] text]; double result = [[self brain] performOperation:operation]; [display setText: [NSString stringWithFormat:@"%g", result]]; } 


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

 @interface ViewController : UIViewController { IBOutlet UILabel *display; CalcBrain *brain; BOOL userIsInTheMiddleOfTypingANumber; } 


рдЬрдм рдЖрдк рдСрдкрд░реЗрд╢рди рдХреБрдВрдЬреА рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдСрдкрд░реЗрдВрдб рдХреА рдШреЛрд╖рдгрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 -(IBAction)operationPressed:(UIButton *)sender { if (userIsInTheMiddleOfTypingANumber) { [[self brain] setOperand:[[display text] doubleValue]]; userIsInTheMiddleOfTypingANumber = NO; } NSString *operation = [[sender titleLabel] text]; double result = [[self brain] performOperation:operation]; [display setText: [NSString stringWithFormat:@"%g", result]]; } 


рдЕрдм рд╣рдо рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:

 -(IBAction)digitPressed:(UIButton *)sender { NSString *digit = [[sender titleLabel] text]; if (userIsInTheMiddleOfTypingANumber) { [display setText:[[display text] stringByAppendingString:digit]]; } else { [display setText:digit]; userIsInTheMiddleOfTypingANumber = YES; } } 


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

рдЕрдм рдХреЗрд╡рд▓ рдмрд┐рд▓реНрдб рдПрдВрдб рд░рди рдмрдЪрд╛ рд╣реИред

рдЫрд╡рд┐

рдШрд░ рдХрд╛ рдкрд╛рда


рдЖрдк рддреАрди рдХрд╛рд░реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
рдХрд╛рд░реНрдп from рдЬреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рддрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛;
рд░реАрд╕реЗрдЯ рд░реАрд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди (C);
рдФрд░ рдСрдкрд░реЗрд╢рди рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп (рдЬрдм рдореИрдВрдиреЗ рдСрдкрд░реЗрд╢рди рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рджрдмрд╛рдпрд╛ = рдЖрдЦрд┐рд░реА рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рдСрдкрд░реЗрд╢рди рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ);

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


All Articles