0

我刚刚迁移了我的新数据模型并添加了一个名为“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;

感谢大家。

4

1 回答 1

0

这不是不正常的,它并不意味着你认为它意味着什么。放轻松,没什么不好的。

你看到的是调用descriptionon的结果NSManagedObject。默认情况下,这是NSManagedObject格式化结果的方式。如果键名包含任何非字母数字字符,则会在键名周围加上引号。这就是他们决定这样做的方式。因此:

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

除了使用该description方法打印对象之外,这对任何事情都没有影响。

您可以而且应该忽略这一点。

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

于 2014-02-24T22:26:19.323 回答