1

我正在为 iOS 6.1 开发,并且正在学习 Core Data。

我有一个托管对象 abc.myString ,我已将字符串塞入:

abc.myString = @"the String";

当我在变量区域中看到 abc.myString 时,如果我往里面看,我只会看到 NSManagedObject,如果我钻得更深,我会看到很多我不理解的东西,但我看不到我的字符串。

但是,在加载 abc.myString 之后,我可以这样做来验证我输入的内容:

NSLog( @"contents = %@", abc.myString );

这是预期的行为吗?我看不到变量区域中的 abc.myString 吗?

4

2 回答 2

0

是的,Xcode 不会在变量列表中显示托管对象的内容,但是您可以右键单击并使用Print Description of 'xyz'将内容打印到控制台中。

于 2013-09-03T10:20:05.270 回答
0

是的,这是预期的行为。NSManagedObject不将其字段存储在实例变量中。将NSManagedObject其视为持久存储数据的前端。NSManagedObject实际上并不存储它获取的数据并更新持久存储。

您仍然可以使用调试器访问数据。在控制台中键入以下内容以记录对象:

po variableNameOrAddressOfTheObjectYouWantToLog

您还可以设置断点来自动执行此日志记录。

于 2013-09-03T10:29:17.297 回答