Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当I';采购订单';lldb中的核心数据对象?_Ios_Objective C_Core Data - Fatal编程技术网

Ios 当I';采购订单';lldb中的核心数据对象?

Ios 当I';采购订单';lldb中的核心数据对象?,ios,objective-c,core-data,Ios,Objective C,Core Data,在lldb中打印核心数据对象的对象描述时,有时会得到以下对象描述: (lldb)po my_challenge_对象 (实体:质询;id:0x170433460;数据:{…}) 如果以后打印同一对象,有时会看到“x-coredata”路径发生更改 (实体:质询;id:0x170433460;数据:{…}) 我的问题是,这条道路意味着什么,为什么会改变?在这种情况下,添加“50232AB5-7372-4628-9F00-51BDB1A5C96D”对我的对象有什么影响?每个NSManagedObje

在lldb中打印核心数据对象的对象描述时,有时会得到以下对象描述:

(lldb)po my_challenge_对象 (实体:质询;id:0x170433460;数据:{…})

如果以后打印同一对象,有时会看到“x-coredata”路径发生更改

(实体:质询;id:0x170433460;数据:{…})


我的问题是,这条道路意味着什么,为什么会改变?在这种情况下,添加“50232AB5-7372-4628-9F00-51BDB1A5C96D”对我的对象有什么影响?

每个
NSManagedObject
都有一个
objectID
。 您在对象描述中看到的是

[[object objectID] URIRepresentation]
objectID
的文档中:

重要提示:如果尚未保存接收器,则对象ID为 保存对象时将更改的临时值

以及“核心数据编程指南”:

NSManagedObjectID
对象是托管对象的通用标识符 对象,并为核心数据框架中的uniquing提供基础。A. 托管对象ID唯一标识两个对象的同一个托管对象 在单个应用程序中的托管对象上下文之间,以及 多个应用程序(如在分布式系统中)。就像初选一样 在数据库中,标识符包含所需的信息 准确描述持久存储中的对象,尽管 详细信息不公开。整个框架 封装“外部”信息并呈现干净的对象 面向对象的接口

实际需要托管对象ID的一种情况是传递
从一个托管对象上下文到不同上下文的托管对象。

首次打印尚未分配给持久存储的对象时:

(lldb) po my_challenge_object
<Challenge: 0x1700da1d0> (entity: Challenge; id: 0x170433460 <x-coredata:///Challenge/t52BD558C-A8FE-4064-A8BE-217A837521E52> ; data: {...})

因此,听起来好像如果我还没有保存对象,则对象的表示形式不应该更改。如果是这样的话,我不明白为什么代表性在改变。@kross:这是个好问题。再看看你的问题,两个对象ID看起来都像一个临时ID(比较一下永久ID的分析),但我实际上没有看到第二个ID。中间的对象会发生什么?是否使用嵌套上下文?-另一方面,准确的表示应该无关紧要,也没有文档记录。你知道深入研究这些数据的技术吗?
<Challenge: 0x1700da1d0> (entity: Challenge; id: 0x170433460 <**x-coredata://50232AB5-7372-4628-9F00-51BDB1A5C96D/Challenge/t52BD558C-A8FE-4064-A8BE-217A837521E52**> ; data: {...})
NSLog(@"Store Identifier: %@", [store identifier]);