我一直在使用CodeSmith从DB生成.NET代码。 SQLite DB是否有类似的代码生成工具,它为objective-c生成代码?
答案 0 :(得分:5)
这个基于Objective-C的SQLite存储库有一个简单的bash脚本,它将读取SQLite数据库并为您生成适当的ORM模型。网址为https://github.com/ziminji/objective-c-sql-query-builder
您需要做的就是配置一个小属性文件,该文件将告诉bash脚本您的硬盘驱动器上SQLite数据库的位置。
答案 1 :(得分:3)
是。 Core Data。它内置,速度非常快,文档记录非常丰富,并且有很多关于如何使用它的例子。
但是,它不会生成代码。代码生成通常很糟糕;机器生成的代码通常过于冗长,格式错误,难以调试。更糟糕的是,一旦您编辑代码,就无法在没有冲突风险的情况下重新生成(充其量)。核心数据,如Interface Builder,采用的方法是,您应该能够在编译期间存档并在运行时取消存档的某些功能中建模一些功能。更好的是,如果你真的想要的话,IB和核心数据的建模方面都不会在代码中完成 nothing 。也就是说,没有魔力。
答案 2 :(得分:1)
如果您正在进行代码优先或模型优先的样式开发,那么Core Data是目前运行OS X / iOS的最佳方式。但是,Core Data不是ORM,因此不适合使用具有现有(非Core Data)架构的DB。如果这是您的情况,Objective-C的动态特性意味着很少需要代码生成。实现Active Record模式非常简单。看一下this项目的例子。
答案 3 :(得分:1)
我同意Barry和bbum对核心数据所说的话。这非常有用。但是,它不是灵丹妙药。有时您可能需要访问预先存在的SQLite数据库,并将其迁移到Core Data将是完全过度的。在这些情况下,您应该使用Flying Meat Database wrapper,即“FMDB”。它干净且易于使用。