HSCoreDataTools 1.0.1

HSCoreDataTools 1.0.1

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发行最新发布2014年12月

Weston Hanners 维护。



  • Weston Hanners

Easy Core Data Tools

一组使 Core Data变得简单易用的对象!

此项目不旨在为您管理上下文,您仍然需要保留上下文。如果您想要一些更自动化的东西,可以看看 Saul Mora(Magical Panda)的 MagicalRecord

主要重点是非常轻量级的 Core Data 栈实现,不使用单例(我讨厌单例)。

功能

  • 即时 Core Data 栈 - 您不再需要将样板代码污染到 AppDelegate 中。一个类管理所有

  • 单元测试栈 - 预配置的内存中的栈,适用于单元测试。

  • 自动迁移数据存储 - 确保您的版本管理,此栈将为您自动迁移。

  • 保存到根上下文 - 您不确定自己有多深的上下文树,此方法会为您保存到根。

  • 上下文命名 - 当调试时这非常有帮助,所有上下文现在都有一个 contextName 属性可供您设置/读取。(在 iOS8 发布后,这将被弃用。)

HSRootCoreDataStack

-(NSManagedObjectContext *)rootContext -- 此方法将返回一个已完全初始化并准备使用的 NSManagedObjectContext。

-(NSManagedObjectContext *)unitTestingContext -- 此方法将返回一个内存中的核心数据存储。

更新:我还公开了 PersistentStoreCoordinator、PersistentStore 和 ManagedObjectModel。有合法的理由需要访问这些内容,我希望让它变得简单。

NSManagedObjectContext+EasyTools

这个分类有几个简化事务的方法

-(void)saveToRootContext -- 将遍历父->子上下文直到根,并对它们全部调用 -save

-(void)rootContext -- 返回最顶层的 managedObjectContext。

-(NSString *)contextName -- 是一个属性,允许你为上下文分配字符串,这对于在多个上下文中调试非常有帮助。

+(NSManagedObjectContext *)appRootContext -- 允许你从应用的任何部分访问 appDelegate.rootContext。

NSManagedObject+EasyTools

这个分类添加了一个帮助清除一些 fetch 请求样板代码的方法

+(NSArray *)fetchWithPredicate... -- 该方法接受一个条件/排序键/上下文,并返回所有匹配的对象的 NSArray。这种方法在检索时可以消除每条检索 4 行代码。