
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ
mogenerator рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛, рдЬреЛ
рдХреЛрд░ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреНрд░рд╛рдл рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рд╡рд╣ рд╣реИ рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрд╕реЗ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрд░ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреНрд░рд╛рдл рдХреЛ рдмрджрд▓рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╣реИред mogenerator рдкреНрд░рддрд┐ рдЗрдХрд╛рдИ рджреЛ рд╡рд░реНрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдорд╢реАрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред Xcode рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдкреАрдврд╝реА рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЖрдк Xcode 4 рдФрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЫреЛрдЯреА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдореЛрдЧреЗрдиреЗрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдореЛрдЧреЗрдирд░реЗрдЯрд░ рдкреНрд░рддрд┐ рдЗрдХрд╛рдИ рджреЛ рдХрдХреНрд╖рд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдЪрд╛рд░ рдлрд╛рдЗрд▓реЗрдВред рдЗрдХрд╛рдИ рдХреЛ рдЗрдХрд╛рдИ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдРрд╕реА рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рдЬрдирд░реЗрдЯ рдХреА рдЬрд╛рдПрдВрдЧреА:
- _Entity.h, _Entity.m - _Entity class рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЗрди рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рддрдм рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдЗрдХрд╛рдИ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ,
- Entity.h, Entity.m - _Entity рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдЗрдХрд╛рдИ рдХреЛ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ, рдпреЗ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЬрдирд░реЗрдЯ рдХреА рдЬрд╛рдПрдВрдЧреА, рдЗрдиреНрд╣реЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрдиреНрд╣реЗрдВ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдмреЗрд╢рдХ, рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдореМрдЬреВрджрд╛ рддрд░реАрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд▓рдЧрднрдЧ рдЗрдХрд╛рдИ рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреНрд░рд╛рдл рдореЗрдВ рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореБрдЭреЗ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрдХреНрд╖рд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреА рдкрдбрд╝реАрдВред
Xcode 4 рдореЗрдВ mogenerator (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ Xcode 4.6.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдкреАрдврд╝реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
0. рдмреЗрд╢рдХ рдЖрдкрдХреЛ
mogenerator рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓
рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред
1. рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдореЛрдЧреЗрдирд░реЗрдЯрд░ рдЪрд▓рд╛рдПрдЧреА, рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣
рдпрд╣рд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА
рд╣реИ ред рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдкрд┐:
рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: --template-var arc = true, рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЙрддреНрдкрдиреНрди рдлрд╛рдЗрд▓реЗрдВ рдПрдЖрд░рд╕реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдВрдЧреАред
NSManagedObject рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдХрд┐рд╕реА рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --base-class рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
2. рдЕрдм Xcode рдореЗрдВ, рдЗрдЪреНрдЫрд┐рдд рд▓рдХреНрд╖реНрдп рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, "рдирд┐рдпрдо рдмрдирд╛рдПрдБ" рдЯреИрдм рдЦреЛрд▓реЗрдВ, рджреЛ рдирд┐рдпрдо рдЬреЛрдбрд╝реЗрдВ, рдПрдХ "рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ" рдХреЗ рд▓рд┐рдП:

, "рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП":

рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд▓рд╛рдЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ, рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рд╣реЛрдЧреА (рдпрджрд┐ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рд╣реА рдХрд░реЗрдВ)ред
3. рдореЙрдбрд▓ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рд╣реА рд╡рд░реНрдЧ (рдЖрдорддреМрд░ рдкрд░ рдЗрдХрд╛рдИ рдХреЗ рдирд╛рдо рдХреЗ рд╕рдорд╛рди) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

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

рдЫрд╡рд┐ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рджрд┐рдЦрд╛рддреА рд╣реИ рдЬреЛ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
"Print: Entry, "_XCCurrentVersionName", Does Not Exist"
рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╕рдВрд╕реНрдХрд░рдг рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ (% рдореЙрдбрд▓% .xcdatamodeld "рдкреИрдХреЗрдЬ рд╕рд╛рдордЧреНрд░реА рджрд┐рдЦрд╛рдПрдВ", рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ .xcdatamodel рдпрд╛ рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдЯрд╛рдиреЗ, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреЗ рд░реВрдк рдореЗрдВ) рдбреЗрдЯрд╛ рдореЙрдбрд▓ рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдирд┐рд╖реНрдХрд╛рд╕рди рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ .xcdatamodeld рдлрд╝рд╛рдЗрд▓ рд╣рдЯрд╛рдирд╛ рдФрд░ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рдпрджрд┐ рд╕рдм рдХреБрдЫ рд▓реЙрдЧ рдиреЗрд╡рд┐рдЧреЗрдЯрд░ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХреА рддрд░рд╣ рдХреБрдЫ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

5. рдЙрддреНрдкрдиреНрди рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реНрд╡рдпрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝реА рдЬрд╛рдПрдВрдЧреА; рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

рдпрд╣ ModelIncludes.h рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рд╕рднреА рдЙрддреНрдкрдиреНрди .h рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдирдИ-рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ рдкрд╣рд▓реЗ, рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВрдиреЗ рдПрдХ рдбреЗрдореЛ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рд╕рд╛рде рд░рдЦрд╛, рдЬрд┐рд╕рдореЗрдВ рдореЛрдЧреЗрдиреЗрдЯрд░ рд╡рд░реНрдгрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ
рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рдЧреИрд░-рдорд╛рдирдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрд░ рдбреЗрдЯрд╛ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрдмрд▓ред рджреВрд╕рд░рд╛ рдкреНрд░рдХрд╛рд░ рдмрд╣реБрдд рд░реБрдЪрд┐ рдХрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ NSData рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдореИрдиреБрдЕрд▓ рдХреНрд░рдорд╛рдВрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЪрдпрди CDPlace рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ
Coord2D рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред Coords2D рдПрдХ рдЖрд╕рд╛рди рд╕рдордиреНрд╡рдп рд╡рд░реНрдЧ рд╣реИ рдЬреЛ NSCoding рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓, рдЗрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдХрд╛рд░рдг, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрднрд╡ рд╣реИ:
CDPlace* cdPlace = тАж Coords2D* coords2D = ... cdPlace.coordinates = coords2D;
рд╕рдорд╕реНрдпрд╛ рдПрдХ рдореЛрдЧреЗрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрдмрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ - рдПрдХ рд╡рд░реНрдЧ рдХреЛ рдХреИрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рд╕рдВрдкрддреНрддрд┐ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛ?
@interface _CDPlace : NSManagedObject {} ... @property (nonatomic, strong) Coords2D* coordinates;
рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ: рдЖрдкрдХреЛ UserInfo рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ValueClassName =>% class_name% рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
1. Xcode рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ,

2. рджрд╛рдИрдВ рдУрд░, рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдЯреИрдм рдЪреБрдиреЗрдВ,
3. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рд╕рдореВрд╣ рдореЗрдВ, рд╕реВрдЪреА рдХреЗ рдиреАрдЪреЗ + рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЬреЛрдбрд╝реЗрдВ:

рдЕрдЧрд▓реА рдкреАрдврд╝реА рдореЗрдВ, рд╕рдВрдкрддреНрддрд┐ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ Coord2D рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрдВрдЧреЗред
рдирд╛рдо рдмрджрд▓реЗрдВ
рдпрджрд┐ рдЖрдк рдПрдХ рдЗрдХрд╛рдИ рдХрд╛ рдирд╛рдо рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ mogenerator рдмрд╕ рд╡рд░реНрдЧреЛрдВ рдХреА рдПрдХ рдирдИ рдЬреЛрдбрд╝реА рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓реЛрдЧреЛрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд╛рде рдореЗрдВ - Bourhaned рдФрд░ --model рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдЙрди рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдореЗрдВ рдХреЛрдИ рд╕рдВрдЧрдд рдЗрдХрд╛рдЗрдпрд╛рдБ рдирд╣реАрдВ рдорд┐рд▓реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдЖрджреЗрд╢ рдореЗрдВ рд╣рдЯрд╛рдП рдЧрдП рдФрд░ рдкреБрдирд░реНрдирд╛рдорд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП mogenerator рдХреЗ рдЖрдЙрдЯрдкреБрдЯ xargs + git рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ mogenerator --model ../Model.xcdatamodel --orphaned | xargs git rm
рдФрд░ рдХреНрдпрд╛?
mogenerator рдХрд╕реНрдЯрдо рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рд╡рд╕реАрдпрдд рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдПрдХ рдЕрд╡рд╕рд░ рд╣реИ, рдЕрдкрдиреЗ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рдХреЛ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ, рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдореЛрдЧреЗрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдорд╛рдирдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдиреНрд╕ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
- рд╕рддреНрдпрд╛рдкрди - рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред
- % рд╡рд┐рд╢реЗрд╖рддрд╛% рдорд╛рди - рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдФрд░ рдмреВрд▓ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрд╕рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ NSNumber рдХреЗ рд╕рд╛рде рдЙрдкрджреНрд░рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
NSInteger sum = entity.int32AtributeValue + 5;
- MOC рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ:
Entity* entity = [Entity insertInManagedObjectContext:context];
- рд╕рдВрд╕реНрдерд╛ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рднрдВрдбрд╛рд░ рдореЗрдВ рд▓рд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐:
NSArray* allEntities = [Entity fetchAllEntities:context];
рдпрд╣ рдПрдХ рдкреВрд░реНрдг рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ; рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдЯреЗрдореНрдкрд▓реЗрдЯ mogenerator рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдЖрдЬ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛