Swift(Xcode 6.1 beta 2)在OS X上使用XML存储的核心数据&x2014;NSSortDescriptor不’;找不到钥匙

Swift(Xcode 6.1 beta 2)在OS X上使用XML存储的核心数据&x2014;NSSortDescriptor不’;找不到钥匙,xml,macos,core-data,swift,nssortdescriptor,Xml,Macos,Core Data,Swift,Nssortdescriptor,我正在学习核心数据,同时也在努力将Swift内部化。我正在使用Nick Smith的“Xcode Primer Start Core Data”,先用Objective-C(如本书所示)做每个练习,然后用Swift。现在,我正在Mavericks 10.9.5上使用Xcode 6.1 beta 2,目前,我正在读这本书的第5章,它是在OSX上工作的,因此默认为XML存储。Objective-C版本在所有方面都很好,但在Swift中,当我进入关于排序的子章节时,我失败了 [<NSXMLDoc

我正在学习核心数据,同时也在努力将Swift内部化。我正在使用Nick Smith的“Xcode Primer Start Core Data”,先用Objective-C(如本书所示)做每个练习,然后用Swift。现在,我正在Mavericks 10.9.5上使用Xcode 6.1 beta 2,目前,我正在读这本书的第5章,它是在OSX上工作的,因此默认为XML存储。Objective-C版本在所有方面都很好,但在Swift中,当我进入关于排序的子章节时,我失败了

[<NSXMLDocumentMapNode ...> valueForUndefinedKey:]: this class is not 
key value coding-compliant for the key price.
[valueForUndefinedKey:]:此类不是
符合关键价格的关键值编码。
(“price”是正在排序的属性的正确名称。)


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

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

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

继续下一章

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