【问题标题】:Swift (Xcode 6.1 beta 2) Core Data on OS X with XML store—NSSortDescriptor doesn’t find keySwift (Xcode 6.1 beta 2) 带有 XML 存储的 OS X 上的核心数据—NSSortDescriptor 找不到密钥
【发布时间】:2014-09-25 02:26:13
【问题描述】:

我正在学习 Core Data,同时也致力于内化 Swift。我正在使用 Nick Smith 的“Xcode Primer—Starting Core Data”,并首先在 Objective-C 中进行每个练习,就像书中一样,然后在 Swift 中进行。现在,我在 Mavericks 10.9.5 上使用 Xcode 6.1 beta 2,目前,我正在阅读本书的第 5 章,这本书是在 OS X 上工作的,因此默认使用 XML 存储。 Objective-C 版本一直很好,但是在 Swift 中,当我进入关于排序的子章节时,我失败了,使用

[<NSXMLDocumentMapNode ...> valueForUndefinedKey:]: this class is not 
key value coding-compliant for the key price.

(“价格”是被排序的属性的正确名称。)

我已经多次删除并重新输入整个项目;无论问题是什么,这都不是一个简单的错字。我知道必须将类从 entity-name 更改为 project-name.entity-name,如果这样做不正确,该项目将在早期阶段失败,所以我知道不是那样。我所有的课程都被标记为@objc,所以不是这样。

【问题讨论】:

    标签: xml macos core-data swift nssortdescriptor


    【解决方案1】:

    突破!我发现修复是修复另一个表面上疯狂的错误的副作用。我不得不从以下位置更改代码:

    let sort2 = NSSortDescriptor(key: "price", ascending: true)
    

    到:

    let sort2 = NSSortDescriptor(key: "price" as NSString, ascending: true)
    

    进入下一章!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-24
      • 2021-10-01
      • 2018-03-01
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多