VPPCoreData 是一个带有 Active Record 支持的 Core Data 包装器,简化了使用 Core Data 框架管理数据的工作。该库提供了自动设置 Core Data 以及一组设置和检索数据的方法,包括前台和后台。
该库依赖于 CoreData
框架,并且还依赖于由 Matt Gallagher 创建的包含的 SynthesizeSingleton
库。
该库包含一个测试项目,您应该阅读以熟悉 VPPCoreData 语法。
该项目包含一个使用它的示例应用。只需将项目在 XCode 中打开,构建它并运行它。
有关完整文档,请查看 http://vicpenap.github.com/VPPCoreData
请注意,此库正在进行积极开发,因此它可能会发生变化,并可能包含错误。
VPPCoreData.h
或 VPPCoreDataActiveRecord.h
。请确保您的 xcdatamodeld
被命名为 'Model'。如果不是,在调用任何 Core Data 调用之前,您应该将 VPPCoreData 的 dbFilename
属性进行更改
[[VPPCoreData sharedInstance] setDbFilename:@"your_model_filename"];
如果您需要初始 sqlite 数据库,在调用任何 Core Data 调用之前,设置 VPPCoreData 的 initialDBFilename
属性
[[VPPCoreData sharedInstance] setInitialDBFilename:@"your_sqlite_filename"];
查看示例代码或测试以获取有关如何使用的更多信息。
自 v0.2.0 版本起,VPPCoreData 包含符合 Active Record 模式的语法。
您可以执行类似以下的调用
[Quote all];
[Quote findBy:predicate];
Quote create];
[aQuote remove];
您也可以使用不同的 Managed Object Contexts 执行这些调用
[Quote moc] all];
/* Will create a new Managed Object Context, configure it
with the Persistent Store Coordinator and other needed information
and perform the query using it. */
[Quote moc:anExistingMOC] all];
/* Will configure the given Managed Object Context
with the Persistent Store Coordinator and other needed information
and perform the query using it. */
您可以执行类似的不同 moc 调用,比如用托管对象:[[aQuote moc] refetch];
查看此文档页面:http://vicpenap.github.com/VPPCoreData/Protocols/VPPCoreDataActiveRecord.html 以查看所有现有的 Active Record 操作。
您可能会注意到没有保存方法。这是由于 Core Data 的本质所致。当您想保存更改时,请调用您正在使用的 Managed Object Context 的 saveChanges:
方法。
您可以使用 VPPCoreData,就像您习惯使用 Core Data 一样。在这种情况下,VPPCoreData 将简化您的代码。例如,您不需要创建整个获取请求,包括实体描述、排序描述符等等,您可以这样做:
[[VPPCoreData sharedInstance] allObjectsForEntity:@"Quote"
orderBy:@"date desc"
filteredBy:pred
completion:^(NSArray *objects) {
block(objects);
}];
查看此文档页面:http://vicpenap.github.com/VPPCoreData/Classes/VPPCoreData.html 来查看所有现有方法。
版权(c)2012 Víctor Pena Placer (@vicpenap) http://www.victorpena.es/
任何获得此软件及其相关文档文件(“软件”)副本的人(以下称为“本人”),无需任何费用,均有权处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,并准许软件接受人进行上述操作,但受下列条件约束:
上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用、侵犯或与本软件或其使用或其他交易有关的任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是基于合同、侵权或其他法律行为而出现的。