【问题标题】:Creation of model in core data on the fly动态在核心数据中创建模型
【发布时间】:2012-10-12 07:32:12
【问题描述】:

我们如何在核心数据中动态创建模型?即从某处获取数据库架构,然后创建核心数据对象图?

*问题:* 是的,很好,同意所有的优点。但是,任何人都可以实际告诉我们,将 Core Data 集成到项目中而不是直接使用 SQL 有什么好处。

1. - 无需编写SQL样板代码【但需要学习Core Data Model(陡峭的曲线)】 2. - 我们可以撤消和重做更改[但实际上谁需要它] 3. - 我们可以迁移到另一个模式 [这可以通过 SQLite 完成,只需要在表中添加另一个字段] 4. - 对于表中某些字段的聚合,在Core Data中我们需要循环Core Data Objects,而在SQLite中我们需要先编写SQLite Boiler Plate Code然后是基本的聚合SQL查询,这很容易编写,只有长度代码会增加...但是在Core Data的情况下(需要学习很多)。

那么除了减少代码长度之外,它是否真的为项目增加了价值?或在 内存效率、性能等。

PS:如果有人实际从事过 Core Data(Model Creation On the Fly) 的工作,请尽可能分享并给予指点……谢谢!

【问题讨论】:

    标签: iphone objective-c ios core-data


    【解决方案1】:

    这是 Apple 提供的一个很好的分步教程,希望对您有所帮助。 http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreDataUtilityTutorial/Articles/03_createModel.html

    【讨论】:

    • 感谢您的回复..但答案似乎仍然不完整..在这个 Apple 的示例中,他们正在创建实体,即通过硬编码来构建模型图。如果我们没有模型在手? (我们在编写构建模型的代码时不知道实体名称)希望问题清楚吗?
    • 好吧,在这种情况下,我的继任者是将实体名称存储在某个地方,稍后您可以从那里获取 DB-scheme 信息以在 obj-c 中动态创建实体。
    • 我还认为存在一些 XML 样式的格式来描述数据库的方案,包括实体(即表)名称。我自己从未使用过它,但我希望 Goolge 比我更了解 ;)
    • 另外,如果有人有使用核心数据的经验..任何人都可以告诉使用核心数据的真正优势是什么..因为核心数据仅建立在 SQLite 之上..apart frm adv like (Redo,Undo..etc)..Core Data 比直接使用 SQlite 有什么真正的优势吗?
    • CoreData 使您能够将数据作为对象进行处理。 SQLite(以及 XML 或普通文件)只是存储的物理表示。这是一个很好的起点:developer.apple.com/library/ios/#documentation/cocoa/conceptual/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多