TLDataManager 0.5.0

TLDataManager 0.5.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Andrew Barba 维护。



  • Andrew Barba

用法

要运行示例项目;克隆仓库,然后首先从 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 文件。