iOS新增的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;

谢谢大家。

这并不反常,也并不意味着你认为它意味着什么。放松点,没什么问题。

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

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

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

您可以,也应该忽略这一点。

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

最新更新