要运行示例项目;克隆仓库,然后首先从 Example 目录运行 pod install
。
此单例对于管理应用程序的单个 CoreData 栈很有用。对于大多数应用程序,一个 CoreData 栈就足够了。
[TLDataManager setDatabaseName:@"MY_DB_NAME" linkedToModel:@"MY_MODEL_NAME"];
[TLDataManager sharedManager];
对于需要多个 CoreData 栈的应用程序,您可以初始化自己的 TLDataManager 实例。
// create the manager
TLDataManager *manager = [[TLDataManager alloc] initWithDatabaseName:@"MY_DB_NAME"
linkedToModel:@"MY_MODEL_NAME"];
// do something with the main context
[manager.mainContext ...]
如果您遵循一些简单规则,就可以很容易地在后台线程上导入数据。
// reference the manager
TLDataManager *manager = [TLDataManager sharedManager];
// import data and pass in block to be executed on abackground thread
// there is a reference to a background context that should be used for importing data
[manager importData:^(NSManagedObjectContext *context){
// perform long import
NSCustomManagedObject *object = [NSCustomManagedObject longImportInContext:context];
// return block to be called on main thread
return ^{
// reference main context
NSManagedObjectContext *mainContext = manager.mainContext;
// reference imported object(s) on main thread
NSCustomManagedObject *newObject = [context objectWithID:object.objectID];
// ... callback with newObject on main thread ...
}
}];
iOS 6.1 或更高版本
Andrew Barba, [email protected]
TLDataManager 可在 MIT 许可证下获得。有关更多信息,请参阅 LICENSE 文件。