рд╣реИрд▓реЛ рд╣рдмрд░ред рдореИрдВ рдЖрдкрдХреЛ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХреА рдорджрдж рд╕реЗ рдХреЛрд░ рдбреЗрдЯрд╛ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
рдиреЛрдЯ:IOS рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдПрдХ рд╕рджрд╕реНрдп рдПрдбрдо рдмрд░реНрдХрдкреАрд▓ рдиреЗ iOS 5 рдореЗрдВ рдХреЛрд░ рдбреЗрдЯрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИ - рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдЗрд╕ рдЧрд╛рдЗрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЗ iPhone рдХреА рдХреЗрд╡рд▓ рдХреЛрд░ рдбреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рддрд░реАрдХреЗ рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ,
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб / рдЖрдпрд╛рдд рдХрд░реЗрдВрд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдХреЛрд░ рдбреЗрдЯрд╛ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рджреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:
1.
рдмрд╛рд╣рд░реА рд╕реНрд░реЛрдд рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдХреЛрд░ рдХреА рддрд╛рд░реАрдЦ рднрд░реЗрдВ ред рдПрдХ рдЖрд╡реЗрджрди рдпрд╣ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрднреА рддрдХ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рд╕реНрд░реЛрдд (рдЬреИрд╕реЗ рдХрд┐ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ XML рдлрд╝рд╛рдЗрд▓) рд╕реЗ рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛ рдХреЛ рдХреЛрд░ рдбреЗрдЯрд╛ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
2.
рдкреНрд░реА-рдкреЙрдкреБрд▓реЗрдЯреЗрдб SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЛрд░ рдбреЗрдЯрд╛ (рдХреЛрд░ рдбреЗрдЯрд╛) рдХреЛ рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рднрд░ рджреЗрдВрдЧреЗред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣рдорд╛рд░рд╛ рдореИрдХ рдпрд╛ рдЕрдиреНрдп iPhone рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХреЛрд░ рдбреЗрдЯрд╛ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреЛ рд╕реАрдзреЗ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рднрд░ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЪрд╛рд▓реВ рдХрд░реЗрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдВ рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
рдЕрдЧрд▓рд╛, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдкреНрд░реА-рд▓реЛрдбреЗрдб рдХреЛрд░ рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рд╛рд░рдВрднрдЬрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ iOS рдкрд░ рдХреЛрд░ рдбреЗрдЯрд╛ OS X рдкрд░ рд╕рдорд╛рди рдХреЛрд░ рдбреЗрдЯрд╛ рд╣реИ, рдФрд░ рд╡реЗ рд╕рдорд╛рди рдореЙрдбрд▓ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЛрд░ рдбреЗрдЯрд╛ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдЯреЛрд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ iOS рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рдЕрджреНрднреБрдд рд╣реИ?
рдЖрдЗрдП рдЗрд╕реЗ рджреЗрдЦреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХ рдкрд░ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред Xcode рдЦреЛрд▓реЗрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ, рдФрд░ Mac OS X \ Application \ Command рд▓рд╛рдЗрди рдЯреВрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪреБрдиреЗрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ "CoreDataTutorial2" рджрд░реНрдЬ рдХрд░реЗрдВ, "рдХреЛрд░ рдбреЗрдЯрд╛" рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдВрджрд░реНрдн рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рд╕рдХреНрд╖рдо рдХрд░реЗрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ, рдлрд┐рд░ "CoreDataTutorial2.xcdatamodeld" рдЪреБрдиреЗрдВ рдФрд░ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВред рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдкрд░ "рдЯреНрд░реИрд╢ рдореЗрдВ рдореВрд╡ рдХрд░реЗрдВ" рдЪреБрдиреЗрдВред
рдлрд┐рд░ рдЙрд╕ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рдкрд╛рдПрдВ:
- FailBankCD.xcdatamodeld
- FailedBankInfo.h
- FailBankInfo.m
- FailBankDetails.h
- FailBankDetails.m
рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ Xcode рдореЗрдВ рдЦреАрдВрдЪреЗрдВред
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ "рдЧрдВрддрд╡реНрдп рд╕рдореВрд╣ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдЖрдЗрдЯрдо (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ)" рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рд╣реИ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ "Add to target" рдЪреЗрдХрдмреЙрдХреНрд╕ рдореЗрдВ "CoreDataTutorial2" рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЛ рдЬрд╛рдВрдЪрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЪреБрдиреЗрдВред рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ рдХреЛрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рд╣реИред рдЕрдм рд╣рдореЗрдВ iOS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЕрдкрдиреЗ рдХреНрд▓рд╛рд╕ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдХреЛрд░ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
ManageObjectModel () рдореЗрдВ, рд╡рд┐рдзрд┐ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
NSString *path = [[[NSProcessInfo processInfo] arguments] objectAtIndex:0]; path = [path stringByDeletingPathExtension];
рдкрд░
NSString *path = @"FailedBankCD";
рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди FailBankCD.xdatamodeld рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ CoreDataTutorial2.xdatamodeld рдХреЗ рдмрдЬрд╛рдп рдЬреЛрдбрд╝рд╛ рдерд╛, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдерд╛ред
рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреА рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдореЙрдбрд▓ рдмреЗрдореЗрд▓ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреАред
Sqlite db рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, (alt) рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВ рдФрд░ рдореЗрдиреВ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ "рдЙрддреНрдкрд╛рдж" рдФрд░ "рдХреНрд▓реАрди рдмрд┐рд▓реНрдб рдлреЛрд▓реНрдбрд░ ..." рдЪреБрдиреЗрдВред
рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрдЦрддреЗ рд╣реИрдВ:
NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб 'рдореЛрдореНрдб' рдлрд╝рд╛рдЗрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ (рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдЬрд╣рд╛рдБ рдХреЛрд░ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ),
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдореЙрдбрд▓ рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╕рд░рд▓ 'рдорд╛рдБ' рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдмрддрд╛рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ ManageObjectModel () рдореЗрдВ рд▓рд╛рдЗрди рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:
NSURL *modelURL = [NSURL fileURLWithPath:[path stringByAppendingPathExtension:@"mom"]];
рдЕрдм рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЕрднреА рддрдХ рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ)ред
рдбреЗрдЯрд╛ рдЖрдпрд╛рддрд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ JSON рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рд░реВрдкреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ,
рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдХреЗрдВрджреНрд░реАрдп рд╡рд┐рдЪрд╛рд░ (рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреЛрд░ рдбреЗрдЯрд╛ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ) рдЕрднреА рднреА рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛ред
рдЖрдЗрдП рдЗрд╕реЗ рдЕрдиреБрднрд╡ рдХрд░реЗрдВ! рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рдирдИ рдлрд╝рд╛рдЗрд▓" рдЪреБрдиреЗрдВред "рдЕрдиреНрдп" рдФрд░ "рдЦрд╛рд▓реА" рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдлрд╝рд╛рдЗрд▓ рдХреЛ "Banks.json" рдирд╛рдо рджреЗрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ "CoreDataTutorial2" рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:
[{ "name": "Bank1", "city": "City1", "state": "State1", "zip": 11111, "closeDate": "1/1/11" }, { "name": "Bank2", "city": "City2", "state": "State2", "zip": 22222, "closeDate": "2/2/12" }, { "name": "Bank3", "city": "City3", "state": "State3", "zip": 33333, "closeDate": "3/3/13" }, { "name": "Bank4", "city": "City4", "state": "State4", "zip": 44444, "closeDate": "4/4/14" } ]
рдпрд╣ рдПрдХ JSON рдПрдиреНрдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рд░рдгреА рдореЗрдВ 4 рд╢рдмреНрджрдХреЛрд╢ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдЧреБрдгреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╣реЛрддреА рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ FailBankInfo / FailedBankDetails рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдореМрдЬреВрдж рдЧреБрдгреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддреА рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ JSON рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ,
рддреЛ рдЗрд╕ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреЛ рджреЗрдЦреЗрдВ ред
рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ рддрд╛рдирд╛рд╢рд╛рд╣ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдлрд┐рд░ "CoreDataTutorial2" рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВред "рдЪрд░рдг рдмрдирд╛рдПрдБ" рдЯреИрдм рдЪреБрдиреЗрдВ,
рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, "рдмрд┐рд▓реНрдб рдЪрд░рдг рдЬреЛрдбрд╝реЗрдВ", рдФрд░ рдЪреБрдиреЗрдВ, "рдХреЙрдкреА рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВ"ред "рдЙрддреНрдкрд╛рдж рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛" рдХреЗ рд▓рд┐рдП рднрд╛рдЧреНрдп рдмрджрд▓реЗрдВред рдЕрдВрдд рдореЗрдВ, "Banks.json" рдлрд╝рд╛рдЗрд▓ рдХреЛ "рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВ" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЦреАрдВрдЪреЗрдВред
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ FailBank рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрд░ рдбреЗрдЯрд╛ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдРрд╕реА рдХреНрд▓рд╛рд╕реЗрд╕ рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ Banks.json рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╣реЛрддрд╛ рд╣реИред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ:
- JSON рдмреВрдЯ рдлрд╝рд╛рдЗрд▓
- JSON рдХреЛ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рд╕рд░рдгреА рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ
- рдПрдХ рд╕рд░рдгреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рдХрд░реЗрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рдЗрдХрд╛рдИ рдмрдирд╛рддрд╛ рд╣реИ
- рдХреЛрд░ рдбреЗрдЯрд╛ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдмрдЪрдд!
рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ! рдореБрдЦреНрдп рдореЗрдиреНрдпреВ рдЦреЛрд▓реЗрдВ рдФрд░ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ (рдСрдЯреЛрд░реЗрд▓рд┐рд╕рдкреБрд▓ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрдд рдореЗрдВ):
NSError* err = nil; NSString* dataPath = [[NSBundle mainBundle] pathForResource:@"Banks" ofType:@"json"]; NSArray* Banks = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfFile:dataPath] options:kNilOptions error:&err]; NSLog(@"Imported Banks: %@", Banks);
рддреЛ рдЖрдкрдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
int main(int argc, const char * argv[]) { @autoreleasepool {
рдирдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд NSJSONSerialization API рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдм рдЖрд╕рд╛рдиреА рд╕реЗ JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдореВрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ NSRSONS,
NS рд╕рд╣рд╛рджрд╛рд░, рдЖрджрд┐ред рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП
рдпрд╣ рдореИрдиреБрдЕрд▓ рдкрдврд╝реЗрдВ ред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рджреЗрдВ:
2012-04-14 22:01:34.995 CoreDataTutorial2[18388:403] Imported Banks: ( { city = City1; closeDate = "1/1/11"; name = Bank1; state = State1; zip = 11111; }, { city = City2; closeDate = "2/2/12"; name = Bank2; state = State2; zip = 22222; }, { city = City3; closeDate = "3/3/13"; name = Bank3; state = State3; zip = 33333; }, { city = City4; closeDate = "4/4/14"; name = Bank4; state = State4; zip = 44444; } )
рдЗрд╕рд▓рд┐рдП рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИ,
рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рд╣рдо рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ CoreData рдореЗрдВ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВ:
#import "FailedBankInfo.h" #import "FailedBankDetails.h"
рдлрд┐рд░ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рд╛ рдерд╛:
[Banks enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { FailedBankInfo *failedBankInfo = [NSEntityDescription insertNewObjectForEntityForName:@"FailedBankInfo" inManagedObjectContext:context]; failedBankInfo.name = [obj objectForKey:@"name"]; failedBankInfo.city = [obj objectForKey:@"city"]; failedBankInfo.state = [obj objectForKey:@"state"]; FailedBankDetails *failedBankDetails = [NSEntityDescription insertNewObjectForEntityForName:@"FailedBankDetails" inManagedObjectContext:context]; failedBankDetails.closeDate = [NSDate dateWithString:[obj objectForKey:@"closeDate"]]; failedBankDetails.updateDate = [NSDate date]; failedBankDetails.zip = [obj objectForKey:@"zip"]; failedBankDetails.info = failedBankInfo; failedBankInfo.details = failedBankDetails; NSError *error; if (![context save:&error]) { NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]); } }];
рд╣рдо enumerateObjectsUsingBlock рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдмреИрдВрдХреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдФрд░ рдПрдХ рдмреИрдВрдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ рдФрд░ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рд╣реЗрдЬреЗрдВред рдлрд┐рд░ рд╣рдо рдПрдХ рдирдореВрдирд╛ рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рдмреИрдВрдХреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВред
2012-04-14 22:15:44.149 CoreDataTutorial2[18484:403] Name: Bank1 2012-04-14 22:15:44.150 CoreDataTutorial2[18484:403] Zip: 11111 2012-04-14 22:15:44.150 CoreDataTutorial2[18484:403] Name: Bank2 2012-04-14 22:15:44.151 CoreDataTutorial2[18484:403] Zip: 22222 2012-04-14 22:15:44.152 CoreDataTutorial2[18484:403] Name: Bank3 2012-04-14 22:15:44.152 CoreDataTutorial2[18484:403] Zip: 33333 2012-04-14 22:15:44.153 CoreDataTutorial2[18484:403] Name: Bank4 2012-04-14 22:15:44.153 CoreDataTutorial2[18484:403] Zip: 44444
рдЯрд╛-рджрд╛! рдпрд╣ рдХреЛрд░ рдбреЗрдЯ рдореЗрдВ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рд╣реИред рд░реЛрдорд╛рдВрдЪрдХ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ, рдЖрдк рдбреЗрдЯрд╛ рдХреЗ рдЕрдВрджрд░ рдЖрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕реНрдерд┐рд░ json рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЬрд╛рдп,
рдЬреЛ рд╣рдордиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЖрдк рдПрдХ CSV рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реБрдП рдХрдИ рдЬреЛрдбрд╝реА рдмрдбрд╝реА / рдПрдХ json рдлрд╝рд╛рдЗрд▓реЗрдВ, рдПрдХ xml рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдВрддрд╣реАрди рд╣реИрдВред
"рдбреЙрдХреНрдЯрд░, рдЖрдкрдХреЛ Xcode рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"рдЕрдм рд╣рдо рдмреНрд░реЗрди рд╕рд░реНрдЬрд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдореЗрдВ sqlite рдбреЗрдЯрд╛рдмреЗрд╕ рд▓реЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬреЛ рд╣рдордиреЗ рдЕрднреА OS X рдПрдкреНрд▓реАрдХреЗрдЯрди рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ iPhone рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рд╛рдВрдЯ рдХрд┐рдпрд╛ рд╣реИред
Sqlite рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ CoreDataTutorial2 рдЙрддреНрдкрд╛рдж рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рд╢реЛ рдЗрди рдлрд╛рдЗрдВрдбрд░" рдЪреБрдиреЗрдВред
рдЕрдм рдПрдХ рдирдИ рдЦреЛрдЬрдХ рд╡рд┐рдВрдбреЛ рдЦреБрд▓ рдЬрд╛рдПрдЧреА рдЬрд╣рд╛рдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереАред рдпрд╣рд╛рдВ, рдЖрдк рдЪрд╛рд░ рдлрд╛рдЗрд▓реЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
- Banks.json - рдмреИрдВрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде json рдлрд╝рд╛рдЗрд▓
- CoreDataTutorial2 - рдпрд╣ рдЖрд╡реЗрджрди
- FailedBankCD.momd (рдпрд╛ only.mom) - рдпрд╣ рдкреНрд░рдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ (FailedBankCD.xdatamodeld) рдХрд╛ рдПрдХ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ
- CoreDataTutorial2.sqlite - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ sqlite рдбреЗрдЯрд╛рдмреЗрд╕ред
рдпрд╣ "CoreDataTutorial2.sqlite" рдлрд╝рд╛рдЗрд▓ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд░рд╕рджрд╛рд░ рдмрд┐рдЯ рд╣реИред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ 1 рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ
редXcode рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╛рдЗрдВрдбрд░ рд╕реЗ "CoreDataTutorial2.sqlite" рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреАрдВрдЪреЗрдВ ("рдЧрдВрддрд╡реНрдп рд╕рдореВрд╣ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдЖрдЗрдЯрдо (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ)" рдХреА рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди "рд▓рдХреНрд╖реНрдп рдкрд░ рдЬреЛрдбрд╝реЗрдВ" рдХреЛ "FailedBankCDCD" рдкрд░ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдЕрдВрдд рдореЗрдВ "FBCDAppDelegate.m" рдЦреЛрд▓реЗрдВред рд▓рдЧрд╛рддрд╛рд░ StoreCoordinator рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред рдХреЗ рддрд╣рдд рд╕рд╣реА рд╣реИ
NSURL *storeURL = [[[[self app... line, add:
if (![[NSFileManager defaultManager] fileExistsAtPath:[storeURL path]]) { NSURL *preloadURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"CoreDataTutorial2" ofType:@"sqlite"]]; NSError* err = nil; if (![[NSFileManager defaultManager] copyItemAtURL:preloadURL toURL:storeURL error:&err]) { NSLog(@"Oops, could copy preloaded data"); } }
рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреЛрдбрд▓рд╛рдЗрдЯ рдбреАрдмреА рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдпрд╣ рдПрдХ рдХреЛрдб рдЬрд╛рдВрдЪ рд╣реИред рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреНрд░реАрд▓реЛрдбреЗрдб рд╕рд╛рдЗрдХреНрд▓рд╛рдЗрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдбреАрдмреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкрде рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╕рд░рд▓ рд╣реИ! рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВред рдРрд╕рд╛ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рд╡рд╣ рд╕рдм рд╣реИред рдЖрдк рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред