iOS xcdatamodel 新增属性有引号
Posted
技术标签:
【中文标题】iOS xcdatamodel 新增属性有引号【英文标题】:iOS xcdatamodel newly added attribute has quotation mark 【发布时间】:2014-02-24 22:15:08 【问题描述】:我刚刚迁移了我的新数据模型并添加了一个名为“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】:这不是不正常的,它并不意味着你认为它意味着什么。放轻松,没事。
您看到的是在NSManagedObject
上调用description
的结果。默认情况下,这是NSManagedObject
格式化结果的方式。如果键名包含任何非字母数字字符,则会在键名周围加上引号。这就是他们决定这样做的方式。结果:
description
的结果,如果调用NSLog
来打印对象会发生这种情况。
这并不表示引号是键名的一部分。如果您尝试为 author_name
设置值,您会发现不应包含引号,因为它们不是名称的一部分。
除了使用description
方法打印对象之外,这对其他任何内容都没有影响。
您可以并且应该忽略这一点。
如果它真的因为某种原因困扰你,创建你自己的NSManagedObject
子类并覆盖description
方法。让它打印任何你想要的东西,用你想要的任何格式。
【讨论】:
感谢您的快速回复!我很担心,因为即使其他字段看起来还不错,我总是从 xml 中获得 author_mail 的 nil 值。 如果您对此提出新问题,也许有人可以提供帮助。以上是关于iOS xcdatamodel 新增属性有引号的主要内容,如果未能解决你的问题,请参考以下文章