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

рд╕рд╛рдордЧреНрд░реА:
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 1ред рдЖрд░рдВрдн рдХрд░рдирд╛ ( рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рднрд╛рдЧ )
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 2ред рдорд╛рд╕реНрдЯрд░ рдХреЛрд░ рдбреЗрдЯрд╛ ( рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рднрд╛рдЧ )
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 3ред рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг: SQLite рдФрд░ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 4ред рдПрдХ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдмрдирд╛рдирд╛
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ релред рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рдирд╛
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 6ред рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рдХрд░рдирд╛
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 7ред рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реНрдореГрддрд┐ рдЯреНрдпреВрдирд┐рдВрдЧ
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 8ред рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдкреНрд░рд╡рд╛рд╕рди
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 9ред NSFetchedResultsController рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВ
- рдЕрдзреНрдпрд╛рдп рд╕рдВрдЦреНрдпрд╛ 10ред рдЙрдиреНрдирдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХреЛрд░ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рд╣рдо рдЗрд╕ рдореЙрдбрд▓ рдХреЛ рдмрдирд╛рдПрдВрдЧреЗ:

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

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо, рдЙрдкрд╕рд░реНрдЧ рдФрд░ рдЕрдзрд┐рдХ рджрд░реНрдЬ рдХрд░реЗрдВ:

рдкрд░рд┐рдЪрд┐рдд рдЦрд┐рдбрд╝рдХреА:

рдХреЛрд░ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрд░ рдбреЗрдЯрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬреЛрдбрд╝реЗрдВ:

рдореЙрдбрд▓ рдмрдирд╛рдПрдВ
рдирдИ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ -> iOS -> CoreData -> рдбреЗрдЯрд╛ рдореЙрдбрд▓


рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рд╕реЗред
рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдмрдирд╛рдПрдБ рдФрд░ рдЗрд╕реЗ
рдмреНрд▓реЙрдЧрдкреЛрд╕реНрдЯ рдХрд╣реЗрдВ, рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рдХреИрдкреНрд╢рди (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдФрд░
рдкрд╛рда (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдЬреЛрдбрд╝реЗрдВред

рд╣рдо рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╣рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рдЕрд╡рддрд╛рд░ (рд╕реНрдЯреНрд░рд┐рдВрдЧ),
рдИрдореЗрд▓ (рд╕реНрдЯреНрд░рд┐рдВрдЧ),
рд▓рд┐рдВрдЧ (рджрд╢рдорд▓рд╡),
рдХрд░реНрдо (рдкреВрд░реНрдгрд╛рдВрдХ 16),
рдЙрдкрдирд╛рдо (рд╕реНрдЯреНрд░рд┐рдВрдЧ),
рд░реЗрдЯрд┐рдВрдЧ (рдкреВрд░реНрдгрд╛рдВрдХ 16) рдЬреЛрдбрд╝реЗрдВред

рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕реЗ
рдЯреИрдЧ рдХрд░реЗрдВ , рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛
рдирд╛рдо (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдЬреЛрдбрд╝реЗрдВред

рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдирд╛рдо рджреЗрдВ
рд╣рдм , рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рдирд╛рдо (рд╕реНрдЯреНрд░рд┐рдВрдЧ),
рд▓рдХреНрд╖реНрдп (рдмреБрд▓рд┐рдпрди) рдЬреЛрдбрд╝реЗрдВред

рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдирд╛рдо рджреЗрдВ, рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рдХреИрдкреНрд╢рди (рд╕реНрдЯреНрд░рд┐рдВрдЧ),
рдЯреЗрдХреНрд╕реНрдЯ (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдЬреЛрдбрд╝реЗрдВред

рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕реЗ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ , рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛
рдкрд╛рда (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдЬреЛрдбрд╝реЗрдВред

рд╣рдо рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ
рд╕рдВрдЧрдарди рдХрд╣рддреЗ рд╣реИрдВ, рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛
рдирд╛рдо (рд╕реНрдЯреНрд░рд┐рдВрдЧ),
рд░реЗрдЯрд┐рдВрдЧ (рдкреВрд░реНрдгрд╛рдВрдХ 16) рдЬреЛрдбрд╝реЗрдВред

рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ:

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

рдЪреВрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ Xcode рдПрдХ-рд╕реЗ-рдПрдХ рд╕рдВрдмрдВрдз рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдкреНрд░рдХрд╛рд░ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:

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

рдЕрдм,
рд╕рдВрдЧрдарди рдЗрдХрд╛рдИ рдХрд╛ рд╕рдВрдкрд╛рджрди рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ рдФрд░
рд╕рдВрдЧрдарди рдореЗрдВ
рдЙрд▓рдЯрд╛ рдХреНрд╖реЗрддреНрд░ рд╕реЗрдЯ рдХрд░реЗрдВ:

рдЕрдм рд╡рд╕реНрддреБ рдХрд╛ рдЧреНрд░рд╛рдл рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

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

рдПрдХ рд╕рдВрдЧрдарди рдмрдирд╛рдПрдВ
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ AppDelegate.h рдореЗрдВ рд╣реИ:
рдФрд░ AppDelegate.m рдореЗрдВ:
рд╣рдо рдЖрд╡реЗрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: didFinishLaunchingWithOptions: рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡рд┐рдзрд┐:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдЗрд╕реЗ рджреЗрдЦреЗрдВред
Habrahabr.sqlite рдлрд╝рд╛рдЗрд▓ рдвреВрдВрдвреЗрдВ:

рдЯрд░реНрдорд┐рдирд▓ рдЪрд▓рд╛рдПрдБ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
AndrewShmigs-MacBook-Pro:~ new$ cd "/Users/new/Library/Application Support/iPhone Simulator/6.1/Applications/95B0716A-9C2C-4BD8-8117-62FB46BB5879" AndrewShmigs-MacBook-Pro:95B0716A-9C2C-4BD8-8117-62FB46BB5879 new$ ls Documents Habrahabr.app Library tmp AndrewShmigs-MacBook-Pro:95B0716A-9C2C-4BD8-8117-62FB46BB5879 new$ cd Documents/ AndrewShmigs-MacBook-Pro:Documents new$ ls Habrahabr.sqlite AndrewShmigs-MacBook-Pro:Documents new$ sqlite3 Habrahabr.sqlite SQLite version 3.7.12 2012-04-03 19:43:07 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .schema CREATE TABLE ZBLOGPOST ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZAUTHOR INTEGER, ZCAPTION VARCHAR, ZTEXT VARCHAR ); CREATE TABLE ZHAB ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZTARGET INTEGER, ZBLOGPOSTS INTEGER, ZNAME VARCHAR ); CREATE TABLE ZORGANIZATION ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZRATING INTEGER, ZNAME VARCHAR ); CREATE TABLE ZQUESTION ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZAUTHOR INTEGER, ZCAPTION VARCHAR, ZTEXT VARCHAR ); CREATE TABLE ZRESPONSE ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZQUESTION INTEGER, ZTEXT VARCHAR ); CREATE TABLE ZTAG ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZBLOGPOST INTEGER, ZNAME VARCHAR ); CREATE TABLE ZUSER ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZKARMA INTEGER, ZRATING INTEGER, ZORGANIZATION INTEGER, ZGENDER DECIMAL, ZAVATAR VARCHAR, ZEMAIL VARCHAR, ZNICKNAME VARCHAR ); CREATE TABLE Z_METADATA (Z_VERSION INTEGER PRIMARY KEY, Z_UUID VARCHAR(255), Z_PLIST BLOB); CREATE TABLE Z_PRIMARYKEY (Z_ENT INTEGER PRIMARY KEY, Z_NAME VARCHAR, Z_SUPER INTEGER, Z_MAX INTEGER); CREATE INDEX ZBLOGPOST_ZAUTHOR_INDEX ON ZBLOGPOST (ZAUTHOR); CREATE INDEX ZHAB_ZBLOGPOSTS_INDEX ON ZHAB (ZBLOGPOSTS); CREATE INDEX ZQUESTION_ZAUTHOR_INDEX ON ZQUESTION (ZAUTHOR); CREATE INDEX ZRESPONSE_ZQUESTION_INDEX ON ZRESPONSE (ZQUESTION); CREATE INDEX ZTAG_ZBLOGPOST_INDEX ON ZTAG (ZBLOGPOST); CREATE INDEX ZUSER_ZORGANIZATION_INDEX ON ZUSER (ZORGANIZATION); sqlite> select * from ZORGANIZATION; 1|3|1|672|Yandex Inc. sqlite> select * from ZUSER; 1|7|1|0|0|1|0||gosha.k@yandex.ru|Goshka 2|7|1|0|0|1|1||vasilisa@yandex.ru|VaseaPup sqlite>
рдЕрдм рд╣рдо рдХрд┐рд╕реА рдПрдХ рдХрд░реНрдордЪрд╛рд░реА рд╕реЗ рдПрдХ рдкреНрд░рд╢реНрди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреЛрд╕реНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдПрдБ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
sqlite> select * from ZQUESTION; 1|4|1|4|Who am I?| . sqlite>
рдХрд░реНрдордЪрд╛рд░реА Vasya Pupkin рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдЬреЛрдбрд╝реЗрдВ:
рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖:
sqlite> select * from ZBLOGPOST; 1|1|1|5|yandex. & yandex. & yandex.|Some text sqlite> select * from ZHAB; 1|2|1|1|1|iOS 2|2|1|1|1|Objective-C sqlite>
рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ
рдЙрди рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдФрд░ рдХрдВрдкрдиреА рдХреЗ рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдПрдВ рдЬрд┐рдирдореЗрдВ рд╡реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЙрд╕реА рддрд░реАрдХреЗ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рд╣рдордиреЗ рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рд▓рд┐рдЦрд╛ рдерд╛ред
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"User"]; NSArray *allUsers = [self.managedObjectContext executeFetchRequest:fetchRequest error:nil]; for(NSManagedObject *user in allUsers){ NSString *nickname = [user valueForKey:@"nickname"]; NSString *organization = [user valueForKeyPath:@"organization.name"]; NSLog(@"%@ works at %@", nickname, organization); }
рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рд▓рдЧрднрдЧ рдорд┐рд▓рддреЗ рд╣реИрдВ (рдореЗрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдИ рдмрд╛рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдбреЗрдЯрд╛ рднреА рдХрдИ рдмрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛):
2013-08-31 13:00:27.255 Habrahabr[18148:c07] Goshka works at Yandex Inc. 2013-08-31 13:00:27.257 Habrahabr[18148:c07] VaseaPup works at Yandex Inc. 2013-08-31 13:00:27.258 Habrahabr[18148:c07] VaseaPup works at Yandex Inc. 2013-08-31 13:00:27.258 Habrahabr[18148:c07] Goshka works at Yandex Inc. 2013-08-31 13:00:27.259 Habrahabr[18148:c07] VaseaPup works at Yandex Inc. 2013-08-31 13:00:27.259 Habrahabr[18148:c07] Goshka works at Yandex Inc. 2013-08-31 13:00:27.260 Habrahabr[18148:c07] Finish!
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдореЗрдВ рдЙрд╕ рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо рдХреИрд╕реЗ рдорд┐рд▓рд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ? рдФрд░? рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛!
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ
рдкреНрд░рдпреЛрдЧ! рдЕрдЧрд░ рдХреБрдЫ рдЯреВрдЯрддрд╛ рд╣реИ рддреЛ рдбрд░реЛ рдордд,
рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдкреВрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред
рдЧреБрдб рд▓рдХ рдФрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рднрд╛рдЧ рдХрд╛ рдЖрдирдВрдж рд▓рд┐рдпрд╛ред