iOS xcdatamodel新添加的属性有引号

时间:2014-02-24 22:15:09

标签: ios core-data core-data-migration xcdatamodel

我刚刚迁移了我的新数据模型,并添加了一个名为“author_mail”的新属性。但是,当我输出记录时,我发现:

attachments = "<relationship fault: 0xd2459c0 'attachments'>";
author = nil;
"author_mail" = nil; <-- ABNORMAL
category1 = World;

我将author_mail设置为字符串类型,但我认为author_mail不应该用引号括起来。我不知道它是否与我的迁移有关,但它不会输出任何错误。 任何线索我应该从哪里开始看?我在网上找不到任何东西。

我想要的结果:

attachments = "<relationship fault: 0xd2459c0 'attachments'>";
author = nil;
author_mail = nil; 
category1 = World;

谢谢大家。

1 个答案:

答案 0 :(得分:0)

这并不是异常,并不代表你认为的意思。放松,没有错。

您所看到的是在description上致电NSManagedObject的结果。默认情况下,这是NSManagedObject格式化结果的方式。如果密钥名称包含任何非字母数字字符,则会在密钥名称周围添加引号。这就是他们决定这样做的方式。结果:

  • 这仅影响在对象上调用description的结果,如果您调用NSLog来打印对象,则会发生这种情况。
  • 这并不表示引号是键名的一部分。如果您尝试为author_name设置值,则会发现不应包含引号,因为它们不是名称的一部分。

除了使用description方法打印对象外,这对任何内容都没有影响。

你可以只是忽略这一点。

如果由于某种原因它真的困扰你,请创建自己的NSManagedObject子类并覆盖description方法。使用您想要的任何格式打印任何您想要的内容。