gpt4 book ai didi

ios - 核心数据实体 findFirst 每次都返回不同的实体,尽管事实上只有其中一个

转载 作者:行者123 更新时间:2023-11-28 20:35:15 25 4
gpt4 key购买 nike

我有一个核心数据模型,该模型由具有多个位置的 Trail 组成。我也在使用 RestKit。我获取线索的代码如下所示:

Trail *trail = [Trail findFirst];

我的问题是每次都会返回不同的 Trail。对 [Trail findFirst] 的三个连续调用返回:

<Trail: 0xf489c70> (entity: Trail; id: 0xf489a60 <x-coredata://77BCA7AD-4C71-437D-8A7C-C047B8E64567/Trail/p1> ; data: <fault>)

<Trail: 0xf476ca0> (entity: Trail; id: 0xf489110 <x-coredata://77BCA7AD-4C71-437D-8A7C-C047B8E64567/Trail/p1> ; data: <fault>)

<Trail: 0xf48c660> (entity: Trail; id: 0xf48c430 <x-coredata://77BCA7AD-4C71-437D-8A7C-C047B8E64567/Trail/p1> ; data: <fault>)

如果我执行 [Trail allObjects],我会看到一个单一的 Trail 项,它将在我下次调用 [Trail findFirst] 时返回。如果我再次执行 [Trail allObjects],我会看到一个不同的跟踪对象,它将在我下次调用 [Trail first] 时返回;

这让我很费解。 CoreData 怎么每次都返回不同的实体?

最佳答案

您正在查看错误的 ID。重要的是x-coredata://77BCA7AD-4C71-437D-8A7C-C047B8E64567/Trail/p1,都显示相同的数字。

您正在查看的 ID 是对象的地址。它们不同的对象,但它们指向相同的底层 Core Data 对象。

想想一个假设的数字对象。我创建了一个,然后将数字 1 放入其中。我创建了另一个数字对象并在其中也放了一个 1。对象相等(都包含 1)但它们不相同(具有不同地址的不同对象)。

关于ios - 核心数据实体 findFirst 每次都返回不同的实体,尽管事实上只有其中一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10782101/

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