gpt4 book ai didi

iphone - 数据库中行的 Core Data 主键 ID

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

假设我有一个存储在核心数据中的书籍列表。我想通过主键 ID 搜索一本书。

我知道 Core Data 创建的 sqlite 文件在每个表中都有一个 ID 列,但这似乎并没有以任何方式暴露给我。

有人有什么建议吗?

最佳答案

-[NSManagedObject objectID] 是 Core Data 中对象实例的唯一 ID。它可以通过 -[NSManagedObjectID URIRepresentation] 进行序列化。您可以使用 -[NSPersistentStoreCoordinator ManagedObjectIDForURIRepresentation:] 从持久存储协调器检索 objectID,然后使用 -[NSManagedObjectContext objectWithID:] 从托管对象上下文获取对象: ]

但是

您应该记住,核心数据不是 ORM。这是一个object graph management framework 。也就是说,使用 SQLite(和唯一行 ID)作为后端纯粹是一个实现细节。您越早摆脱 SQL/RDBMS 思维模式,您就会越快对 Core Data 感到满意。不要尝试从存储的 ID 中查找对象,而是考虑为什么需要该对象以及什么对象需要它。如果 Foo 类的实例需要能够访问 Bar 类的实例,为什么不直接创建一个从 FooBar 并将相应的 Bar 实例设置为相应 Foo 实例上关联的目标。让 Core Data 跟踪对象 ID。

关于iphone - 数据库中行的 Core Data 主键 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720182/

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