gpt4 book ai didi

objective-c - 核心数据和 SQLite

转载 作者:行者123 更新时间:2023-12-03 18:20:40 26 4
gpt4 key购买 nike

我是使用 Objective-C 编程的新手。我不明白“核心数据”的概念——有人可以建议任何好的资源来了解“核心数据”(还有 SQLite)吗?任何帮助将不胜感激。

最佳答案

我能给出的最重要的建议是不要将 Core Data 与 SQLite 或 SQL 混淆。因为 Core Data 可以将 SQLite 作为一种持久性方法,但只是其中一种,所以很多新手都认为 Core Data 只是一个为 SQL 包装的面向对象,因此 Core Data 可以用 SQL 来理解,例如表、列、行、键、连接等。然而,Core Data 确实与 SQL 无关,而且你对应用于 Core Data 的 SQL 也一无所知。

SQL 和 Core Data 从完全相反的方向处理数据,这会让人绊倒。

SQL 主要关注将数据输入和输出持久存储(通常是驱动器)。一旦数据被读入,程序对数据的处理不是 SQL 关心的。

相反,Core Data 主要关注在运行时管理内存中的事件对象。它主要关注建模/模拟程序处理的真实世界对象、事件或条件。 90% 的 Core Data 工作都与这种建模相关,并且持久化数据(SQL 主要任务)实际上只是事后的想法。事实上,如果你愿意,你可以使用 Core Data 而不用持久化任何东西(使用内存存储)。

具有 SQL 背景的新手 Core Data 程序员会浪费大量时间试图弄清楚 Core Data 是如何实现所有 SQL 的,而实际上 Core Data 是在后台完成这一切的,而且只有在你首先使用 SQLite 存储的情况下。

学习 Core Data 时最好的观点是完全忽略数据可能会被持久化。取而代之的是,采用 Core Data 的观点来管理内存中运行时托管对象及其关系,而不用关心它们将如何保存或是否会被保存。从这个角度来看,Core Data 不是作为数据库而是作为数据建模工具来展示的。这将把你的注意力放在它所属的地方,数据和数据之间的关系上,这反过来会使 Core Data 的实现细节更容易理解。

关于objective-c - 核心数据和 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5079129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com