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 新增属性有引号的主要内容,如果未能解决你的问题,请参考以下文章

h5新增和css3新增

单引号和双引号一起作为 HTML 属性值?

双引号的属性

在 ember 计算属性中使用反引号

Ant、jvmarg、系统属性和引号

用引号和大括号反应原生属性值