рдПрдХ рдХреНрд░реИрд╢ рдФрд░ NSLog рдХреА рдХрд╣рд╛рдиреА рдЬрд┐рд╕рдиреЗ рдЙрд╕рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд┐рдпрд╛

рдореИрдВ рдХреНрд░реИрд╢ рдФрд░ NSLogs рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕рд╕реНрддреАред рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ред 100% рдЧрд╛рд░рдВрдЯреАред

рдЗрд╕ рд╢реАрд░реНрд╖рдХ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде, рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рд╕рд╛рдврд╝реЗ рддреАрди рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЬреЛ рдХреБрдЫ рд╣реБрдЖ, рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдмрд▓реНрдХрд┐, рдпрд╣ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рднреА рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рджреБрд░реНрдШрдЯрдирд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ред

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



рд╣рд╛рдБ, рд╡рд╣ рдмрд╣реБрдд рд╣рд╛рдирд┐рд░рд╣рд┐рдд рджрд┐рдЦ рд░рд╣рд╛ рдерд╛:

// Code UITextView * textView = [ [UITextView alloc] initWithFrame:CGRectMake(0, 150, _width, _height)]; // Exception *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer bounds contains NaN: [0 0; nan 200]' 


"рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИ, рд╣реЗрдЬрд╣реЛрдЧ рдЙрд╕ рдЪреМрдбрд╝рд╛рдИ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ - рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж - NaN!", рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рджреЗрдЦрдиреЗ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХрд╣рд╛рдБ рдФрд░ рдХреИрд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рддреНрд╡рд░рд┐рдд рд░реВрдк рд╕реЗ рдЦрддрд░рдирд╛рдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп рдмрдирд╛рдХрд░ NSLog рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрддреНрд╡ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдкрд░ рдПрдХ рд╡рд┐рд░рд╛рдо рдмрд┐рдВрджреБред
 // Source: NSLog(@"width = %f", _width); //Output: width = 200 


"рдЙрдо," рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рд╕реЛрдЪрд╛, рдФрд░ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреЗ рдмрд╛рдж рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛ред рдФрд░ рджреБрд░реНрдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реБрдИ ...



рдЯреЗрд╕реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдХреНрд░реИрд╢ рдкреБрди: рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реНрд╡рдпрдВ рдЗрд╕ рдЬрд╛рдирд╡рд░ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрд░реЗ рд╕рд╛рде рд╣реИ ред
рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдИрдУрдПрд╕ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░, рд╕рдВрд╕реНрдХрд░рдг рдПрд╕рдбреАрдХреЗ 5.1 (рдПрд╕рдбреАрдХреЗ 6+ рдкрд░) рдкрд░ рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдкреБрди: рдкреЗрд╢ рдХрд░реЗрдВрдЧреЗ - рдкреАрдПрдо рдХреЛ рд▓рд┐рдЦреЗрдВ, рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ)

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

рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ?


рдпрджрд┐ рдЖрдк рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рджреБрд░реНрдШрдЯрдирд╛ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ, рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдХреБрдЫ рдмрджрд▓ рджрд┐рдпрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпрддрд╛ 100% рдереА)ред рд╕рд╡рд╛рд▓ рдХреЗрд╡рд▓ рд╡рд╣реА рдерд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рдерд╛ ред

  1. рдореИрдВрдиреЗ рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдХреЛрдб рдЬреЛрдбрд╝реЗ
  2. рдореИрдВрдиреЗ NSLog рдЬреЛрдбрд╝рд╛
  3. рдореИрдВрдиреЗ рдзрд╛рд░рд╛ рд░реЛрдХ рджреА
  4. рдореИрдВрдиреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдкрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд░реНрдЧ рдЪрд░ _width рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛
  5. ....

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ - рдЖрдк рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрдиреБрдорд╛рди рд╕рд╣реА рдереЗред рд▓реЗрдХрд┐рди, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ - рд╢рд╛рдпрдж рд╣реА;)


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

рдореИрдВрдиреЗ рдзрд╛рд░рд╛ рд░реЛрдХ рджреА

рдпрд╣рд╛рдВ рд╡рд┐рдЪрд╛рд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдмрд╣реБрдзрд╛ - рддреНрд░реБрдЯрд┐ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИред
рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдерд╛, рдореИрдВрдиреЗ NSLog 'a' рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд┐рдпрд╛ред рдХреЛрдб рдХреНрд░реИрд╢ рд╣реЛрдирд╛ рдЬрд╛рд░реА рд░рд╣рд╛, рдЙрд╕реА 100% рдХреЗ рд╕рд╛рдеред

рдореИрдВрдиреЗ рдХрдХреНрд╖рд╛ рдХреЗ рдЪрд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рд╣реИред рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдХреБрдЫ рдХреЛрдб рдЬреЛрдбрд╝реЗ рд╣реИрдВ

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

рдореИрдВрдиреЗ NSLog рдЬреЛрдбрд╝рд╛

"рдирд╣реАрдВ, рдареАрдХ рд╣реИ, рддреБрдо рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реЛ, рдХреНрдпрд╛ рддреБрдо рд╣реЛ?"
рдпрд╣ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд┐рдХрд▓рд╛ред NSLog рдиреЗ рдХреНрд░реИрд╢ рдХреЛ "рдареАрдХ" рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛ред рд╕реНрдерд┐рд░ред рднрд▓реЗ рд╣реА рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рднреА рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рд╣реЛрдВред рдЕрдзрд┐рдХ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХреА рдЧрдИред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреНрд░реИрд╢ рд╣реЛрдирд╛ рдЬрд╛рд░реА рд░рд╣рд╛, рднрд▓реЗ рд╣реА рдЖрдкрдиреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ _width , _height рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛред NSLog рдХреЗ рдмрд┐рдирд╛ , (-) initWithFrame - рдХреЛ рджрд┐рдП рдЧрдП рдХреЛрдИ рднреА рдорд╛рди : рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рджреЗрдЧрд╛ ред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ NSLog рдХреЛ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рдордиреЗ рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдерд╛ред рдЗрд╕реЗ рдЙрд╕ рдкрджреНрдзрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рджреГрд╢реНрдп рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ ... рдпрд╛ рдЙрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ рдЬрд┐рд╕реЗ рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ... рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрд╕ рд╡рд┐рдзрд┐ рдХреЛ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ ... рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдкрд╣рд▓реЗред

рд╕рдлрд▓рддрд╛!


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

рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ?


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

рдЬрд╛рджреВ?


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

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

рдЬрд╛рджреВ рдХрд╛ рдЬрд╛рджреВ


рдЙрд╕ рдкрд▓ рдореЗрдВ, рдореИрдВ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╕реНрдерд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдерд╛ред рд╕рдорд╕реНрдпрд╛ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдХрд╣реАрдВ рдереА, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдХреБрдЫ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдпрд╣ рд╕рдм рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЧрд┐рд░ рдЧрдпрд╛ред
 #4 0x01d8b04a in -[CALayer setBounds:] () <---- NaN lives here #5 0x02d1d714 in WebCore::TileGrid::updateHostLayerSize() () #6 0x02d1af26 in WebCore::TileCache::TileCache(WAKWindow*) () #7 0x02d52507 in -[WAKWindow initWithLayer:] () #8 0x002ee5e9 in -[UIWebTiledView initWithFrame:] () #9 0x001af9b5 in -[UIWebDocumentView initWithWebView:frame:] () #10 0x001af89e in -[UIWebDocumentView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:] () #11 0x0012cb6a in -[UITextView commonInitWithWebDocumentView:isDecoding:] () #12 0x0012bf0e in -[UITextView initWithFrame:] () 


Dtrace рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП , рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдХрд┐ рдмреАрдорд╛рд░ рдПрдлрдПрдПрди рдХрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ "рдЦреЛ рдЧрдП" рд╣реИрдВ:

 QuartzCore`-[CALayer setBounds :] <------ (0, 0, NaN, height) WebCore`WebCore::TileGrid::updateHostLayerSize()+0x140 WebCore`WebCore::TileCache::TileCache(WAKWindow*)+0x1c6 WebCore`-[WAKWindow initWithLayer:]+0xd7 UIKit`-[UIWebTiledView initWithFrame:]+0xec " <------ (0, 0, width, height)" UIKit`-[UIWebDocumentView initWithWebView:frame:]+0xb5 UIKit`-[UIWebDocumentView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]+0xfe UIKit`-[UITextView commonInitWithWebDocumentView:isDecoding:]+0x198 UIKit`-[UITextView initWithFrame:]+0x70 " <------ (0, 0, width, height)" 


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

рд╕реНрдкреЙрдпрд▓рд░ рдЕрд▓рд░реНрдЯ!

рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рд╣рд▓ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ;)
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЭреВрда рдмреЛрд▓рддреА рд╣реИрдВ, рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕реНрдЯреИрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдПрдХ рдЫреЛрдЯрд╛ рд╕реНрдкреЙрдЗрд▓рд░
рдореБрдЭреЗ рдордд рдкрдврд╝реЛ!
рд╕рдорд╕реНрдпрд╛ рд╕рднреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ


рдвреЗрд░ рдкрд░реЗрд╢рд╛рдирд┐рдпрд╛рдБ?


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

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

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


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



рдпрд╣ FPU рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕реЗрдВрдЯ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╕реНрдерд┐рдд рдерд╛ред рдЪреВрдВрдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдпреЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреНрдпрд╛ рдереЗ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрдВрдЯреЗрд▓ рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЪрдврд╝рдирд╛ рдкрдбрд╝рд╛ред рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд░рдЬрд┐рд╕реНрдЯрд░ рдЧреНрд░реБрдк st0-st7 FPU рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрдХреНрд░реАрдп рдвреЗрд░ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рд╕рдВрдЪрд╛рд▓рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╕рдм рдХреБрдЫ рд╕рд╛рдл рд╣реЛрдиреЗ рд▓рдЧрд╛ред рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдПрдлрдкреАрдпреВ рдореЗрдВ рд╕реНрдЯреИрдХ рдкрд░ NaN рдорд╛рди рдбрд╛рд▓рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреМрди рдХрд░рддрд╛ рд╣реИред

рд▓рдЧрднрдЧ рдПрдХ рдШрдВрдЯреЗ рдореИрдВрдиреЗ рдЬрд╛рджреВ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдкрд░ рдорд╛рд░ рджрд┐рдпрд╛ рдЬреЛ рдЕрдЪрд╛рдирдХ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдПрдХ рд╕рд░рд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ "рдзреНрдпрд╛рди рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝реЗрдВред" рдпрд╣ рдЬрд╛рджреВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдХрдЯ рд╣реБрдЖред " Fstp " рдирд┐рд░реНрджреЗрд╢ рдиреЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ (рдкреГрд╖реНрда 190)ред рдХрдорд╛рдВрдб рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдСрдкрд░реЗрд╢рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: st0 рд╕реНрдЯреИрдХ рдХреЗ FPU рдХреЗ рдКрдкрд░ рд╕реЗ рд╡рд░реНрддрдорд╛рди рдорд╛рди рд▓реЗрдВ, рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрддреЗ рдкрд░ рд▓рд┐рдЦреЗрдВ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, $ ebp-0x64 рдореЗрдВ ), рдФрд░ FP рд╕реНрдЯреИрдХ рд╕реЗ рдорд╛рди рдХреЛ рдзрдХреНрдХрд╛ рджреЗрдВред
рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, $ ebp + 0x64 0 рд╣реЛ рдЧрдпрд╛, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореВрд▓реНрдп 320 рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП рдерд╛ред

Fstp рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ


Fstp рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж


рдЪреМрдХрд╕ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рдЬреЛ рд▓реЛрдЧ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕реНрд╡рдпрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реЗрдмрдХреЛрд░ :: рдЯрд╛рдЗрд▓рдЧреНрд░рд┐рдб :: updateHostLayerSize () рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдПрдХ рд╡рд┐рд░рд╛рдо рдмрд┐рдВрджреБ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрджрд░ рдпрд╣ рд╕рд╣реА рдЯреБрдХрдбрд╝рд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рдЬреЛ рдХреЛрдИ рднреА рдореЗрд░реА рдкреНрд▓рдЧрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ - рдмрд┐рдЧрд╛рдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред
рдФрд░ $ ebp-0x64, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЕрд╕рд▓реА рдирд╣реАрдВ рд╣реИ!
рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИрдВред Fstp рдХрдорд╛рдВрдб рдореЗрдореЛрд░реА рдХреЛ 40-рдмрд┐рдЯ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рдЖрдо рд▓реЛрдЧреЛрдВ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдбрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдбрд┐рдмрдЧрд░ рдореЗрдВ, рдореИрдВ рд╕рд╣реА рдкрддреЗ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ 40 рдмрд┐рдЯреНрд╕ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ 32 рдмрд┐рдЯреНрд╕ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВред рдЬрдм рдореИрдВрдиреЗ рд╕рд╣реА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЧрдпрд╛ред рдПрдХ рддреНрд░реБрдЯрд┐ рдЬреЛ рдореБрдЭреЗ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЖрдзреЗ рдШрдВрдЯреЗ рдХрд╛ рд╕рдордп рд▓реЗрддреА рд╣реИ рдЕрдЧрд░ рдореИрдВ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝рддрд╛ рддреЛ рд╢рд╛рдпрдж рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдиреИрддрд┐рдХ: рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝реЗрдВред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдФрд░ рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИред


рдвреЗрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣?


рдХреЗ рдмрд╛рдж рдореИрдВ fstp , рдФрд░ рдмрдбрд╝реА рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ред рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдорддрднреЗрдж рдвреВрдВрдврдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдФрд░ рдЬрдм рд╕реЗ рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрддрд╛ рдерд╛ рдХрд┐ рдХрд╛рд░рдг рд╕реНрдЯреИрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ред рдФрд░ рдорддрднреЗрдж рдереЗред рдФрд░ рдпрд╣ рднреА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ NaN рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ $ ftag рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ рджреЗрдЦрд╛, рдЬрд┐рд╕рдХреЗ рдореВрд▓реНрдп рдиреЗ рддреБрд░рдВрдд рдореБрдЭреЗ FPU рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдвреЗрд░ рдореЗрдВ рдХреБрдЫ рдЦрд░рд╛рдм рд╣реЛрдиреЗ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ (рдкреГрд╖реНрда 182)ред


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

рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░, рдЬрдм рдореИрдВ $ fstat рд░рдЬрд┐рд╕реНрдЯрд░ (x87 FPU рд░рдЬрд┐рд╕реНрдЯрд░, рдкреАред 178) рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рджреЗрдЦрд╛ рддреЛ рдЬрд╛рджреВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдкреНрд░рд╢реНрди рджреВрд░ рд╣реЛ рдЧрдПред



рдвреЗрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣


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

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

рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдмрд╕реЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ред рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдЬрд╛рджреВ NaN рдХрд╣рд╛рдВ рд╕реЗ рдЖрддрд╛ рд╣реИ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ, рдФрд░ FPU рд╕реНрдЯреИрдХ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдпрд╣ рд╕рд┐рд░реНрдл рдЬрд╡рд╛рдм рд╣реИ, рдЬрд╣рд╛рдВ рдФрд░ рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдореЗрд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рдерд╛ред рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдлрд┐рд░ рд╕реЗ рдкреИрджрд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдпрд╣ UIKit рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░рддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдЖрдк рдмрд┐рдирд╛ рд╕рдмреВрдд рдХреЗ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рджреВрд╕рд░реА рдУрд░, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдХреЛрдб рдПрдлрдкреАрдпреВ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреИрд╕реЗ рдХрд╣ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ рдореИрдВрдиреЗ рдЙрд╕ рджрд┐рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ рдерд╛)ред

рдЕрдкрд░рд╛рдзреА


рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╕рдордп рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдлрд┐рд░ рднреА рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд┐ рд╣реБрдИ рд╣рд░ рдЪреАрдЬ рдХрд╛ рдЕрдкрд░рд╛рдзреА рдерд╛ред рдпрд╣рд╛рдБ рд╡рд╣ рд╣реИ, рдЬреЛ рдХреБрдЫ рднреА рд╣реЛрддрд╛ рд╣реИ рдЙрд╕рдХрд╛ рдЕрдкрд░рд╛рдзреА!
 // ACLabel : UILabel - (CGFloat)resizeToContents { CGSize size = [self.text sizeWithFont:self.font forWidth:self.frame.size.width lineBreakMode:self.lineBreakMode]; CGRect oldFrame = self.frame; oldFrame.size.height = size.height; self.frame = oldFrame; return size.height; } 


рдХреБрдЫ рдбрд░рд╛рд╡рдирд╛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдореИрдВрдиреЗ рднреА рдХреЛрд╢рд┐рд╢ рдХреАред рд▓рдВрдмреЗ рдФрд░ рдердХрд╛рдКред рдореИрдВрдиреЗ рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛, рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛, рдЗрд╕реЗ рдПрдХ рд╢реНрд░реЗрдгреА рдмрдирд╛ рджрд┐рдпрд╛ред рдФрд░ рд╕рдм рд╡реНрдпрд░реНрдеред рдЗрд╕ рд╡рд┐рдзрд┐ рдиреЗ FPU Stack'e рдореЗрдВ рдХрдЪрд░рд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╛рджреВ рдиреЗ рдПрдХ рдирдпрд╛ рд░реВрдк рд▓реЗ рд▓рд┐рдпрд╛ рд╣реИред рдЙрд╕реА рд╡рд┐рдзрд┐ рдиреЗ рд╣рд░ рдмрд╛рд░ рдХрдЪрд░реЗ рдХреЛ рдвреЗрд░ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдпрд╣реА рд╣реИ, "рдХрднреА-рдХрднреА" рд╡рд┐рдзрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ "рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рд╕реЗ рдорд╛рди" рд▓реЗрддреА рд╣реИ, рдФрд░ рдХрднреА-рдХрднреА рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдЗрд╕ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ?

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


"рдореИрдВ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд░рд╣рд╛ рд╣реВрдБ!" (рд╡реНрдпрдВрдЧреНрдп)ред рдЕрдм рдЧрд┐рд▓реНрдЯ рд╡реЗрдХреНрдЯрд░ рдЖрд╕рд╛рдиреА рд╕реЗ UIKit 'рдФрд░ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЙрд╕реЗ FPU рд╕реНрдЯреИрдХ рд╕реЗ рдореВрд▓реНрдп рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП! рдПрдХ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдирд╣реАрдВред рдмрд▓реНрдХрд┐, рдпрд╣ рдХрд░рддрд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдирд╣реАрдВред рддреЛ рдХрдм?

рдПрдХ рдХрджрдо рдЬреАрдд рдХрд╛


рдФрд░ рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕рд╡рд╛рд▓ рд╣реИ: "рдХреНрдпрд╛ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд░реНрд╢рд╛рдИ рдЧрдИ рд▓рд╛рдЗрдиреЗрдВ рд╕рдорд╛рди рд╣реИрдВ?"
 //     //  тДЦ1 [obj someMethod]; //  тДЦ2 [obj perfromSelector:@selector(someMethod)]; 

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

 id myClone = [anObject copy]; id myClone = [anObject performSelector:@selector(copy)]; id myClone = [anObject performSelector:sel_getUid("copy")]; 

ред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рд▓реМрдЯрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП, NSInvocation рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред


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

рд▓рд╛рдн


рд╢рд╛рдпрдж, рдХрдИ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдврд╛рдИ рджрд┐рдиреЛрдВ рдХреЗ рдЦреЗрд▓ рдХреЗ рд╕рд╛рде dtrace, рдбрд┐рдмрдЧрд░, рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдирд╛ рдФрд░ рдЗрд╕реА рддрд░рд╣)ред

  1. рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рджреЗрдЦрддрд╛ рд╣реИ рдЬреЛ рдлреНрд▓реЛрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдлрдкреАрдпреВ рд╕реНрдЯреИрдХ рд╕реЗ рд▓реМрдЯреЗ рдореВрд▓реНрдп рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
  2. PerformSelector рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдХреНрдпрд╛ рд▓реМрдЯрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдЕрдЪреНрдЫреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ - рд╡рд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ id рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧреАред
  3. рдпрджрд┐ рдХреЛрдб рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП performSelector рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдлреНрд▓реЛрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рднрд▓реЗ рд╣реА рдЖрдк рд▓реМрдЯреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ), рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ FPU рд╕реНрдЯреИрдХ рд╕реЗ рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рдорд╛рди рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, performSelector рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдЯрд░реНрди-рдлреНрд▓реЛрдЯ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЗ рд╕рд╛рде, FPU рд╕реНрдЯреИрдХ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ "рдХреНрд▓реЙрдЧ" рд╣реИред
  4. рдЖрда рдРрд╕реЗ рдХреЙрд▓ (8 рд╕реЗрдВрдЯ-рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ) рдХреЗ рдмрд╛рдж, рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдХ рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯреИрдХ рднрд░рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рди NaN рдХреЛ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣, рдмрджрд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ рдХрд┐ рдПрдХ рдбрд╛рдпрдирд╛рд╕реЛрд░ рдЖрдкрдХреА рдкреАрда рдХреЗ рдкреАрдЫреЗ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред


рдиреИрддрд┐рдХ : рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝реЗрдВред рдпрджрд┐ рдХреЛрдИ рдЪреАрдЬрд╝ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд╛рдо рдХрд░рддреА рд╣реИ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

NSLog


"рд╣реЗ, рд╣реЗ, рддреЛ NSLog рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?" NSLog "рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЗрд▓рд╛рдЬ" рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ?
NSLog рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд╣рд╛рд░ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП FPU рд╕реНрдЯреИрдХ рдореЗрдВ рджреЛ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдФрд░ FPU рд╕реНрдЯреИрдХ, рдпрджрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрдмрд╛рджреА рд╣реИ, рддреЛ рдЙрдЪрд┐рдд рдУрд╡рд░рдлреНрд▓реЛ рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдПрдХ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЬреЛ рд╕реНрдЯреИрдХ рд╕реЗ рдорд╛рди рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рд╕реНрдЯреИрдХ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ "рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред
 // Tag word (state of st0 - st7 registers) // 00 - Used // 10 - Invalid // 11 - Unused // before NSLog st0 st1 st2 st3 st4 st5 st6 st7 10 00 00 00 00 00 00 00 // After NSLog st0 st1 st2 st3 st4 st5 st6 st7 11 11 00 00 00 00 00 00 


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

рддреЛ, NSLog рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЗрд▓рд╛рдЬ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рдЙрд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рддрдХ рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЖрд╡реЗрджрди рдХреА рдореГрддреНрдпреБ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА, рддрдм рддрдХ рдХреЛрдбрди "рдЕрдЪрд╛рдирдХ"ред

рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ "рдЬрд╛рджреВ рд╣реИред" рдЕрдм рдЖрдк рдЕрдкрдиреЗ рд░рд┐рдЬреНрдпреВрдореЗ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
рдореИрдВ рдХреНрд░реИрд╢ рдФрд░ NSLogs рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕рд╕реНрддреАред рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ред 100% рдЧрд╛рд░рдВрдЯреАред


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рди рдХреЗрд╡рд▓ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛, рдмрд▓реНрдХрд┐ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рднреА - рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдгред

PS рдлрд┐рд░ рд╕реЗ рдореЗрд░реА рдорджрдж рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдзрд╛рд░рд╛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рд░реНрдХрдкреНрд░реЙрдЧрд░ рдФрд░ рд╡рд┐рдХреНрд╕реЗрдВрдЯреЗрд▓ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

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


All Articles