有些支持Core Data的内置模板是在应用程序委托里面设置Core Data的。但是为了模块化,我们通过应用程序委托惰性地创建CoreDataHelper类的实例:
- 初始化托管对象模型
- 根据托管对象模型创建持久化存储区,并据此初始化持久化存储协调器
- 根据持久化存储协调器来初始化托管对象上下文
修改程序,创建CoreDataHelper:
- 创建新组:Generic Core Data Classes
- 创建名为 CoreDataHelper 的class,继承自NSObject,
加入代码
#import <CoreData/CoreData.h> @property (nonatomic, readonly) NSManagedObjectContext *context;
@property (nonatomic, readonly) NSManagedObjectModel *model;
@property (nonatomic, readonly) NSPersistentStoreCoordinator *coordinator;
@property (nonatomic, readonly) NSPersistentStore *store; - (void)setupCoreData;
- (void)saveContext;