访问最终类的@NSManaged属性时发生Swift链接器错误

我在一个更大的项目中遇到问题,并将其简化为这个简单的代码。 为了演示目的,我使用Model.swift文件创build了一个新的Swift项目:

import Foundation import CoreData class A: NSManagedObject { @NSManaged var foo: String } final class B: A { @NSManaged var bar: String } func testB(obj: B) -> String { return "\(obj.foo) \(obj.bar)" } 

这编译,但链接器抱怨访问bar

 Undefined symbols for architecture armv7: "__TFC21TestFinalManagedClass1Bg3barSS", referenced from: __TF21TestFinalManagedClass5testBFCS_1BSS in Model.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

final class中的@NSManaged var的组合似乎是导致错误的原因。 (包含A的类inheritance是为了演示foo属性可以在typesB的对象上访问,而不是bar属性。

我正在使用Xcode版本6.1(6A1052d)。

在文档中是否隐藏了一些将NSManagedObject子类标记为final的规则? 或者这只是编译器/链接器中的一个错误?

这个问题已经在Xcode 6.3 beta中解决了。