我刚刚迁移了我的新数据模型,并添加了一个名为"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
方法。让它打印出你想要的任何内容,使用你想要的格式。