我的模块中有一个类型:
import Cocoa class ColoredDotView : NSView { ... }
它被用于许多不同的类中,没有问题:
class EditSubjectPopoverController : NSObject { @IBOutlet internal var subjectColorDotView : ColoredDotView! ... }
但是由于 某种原因 ,当我在一个 特定的 类中使用它时,在类型上出现编译错误:
class EditTaskPopoverController : NSObject { @IBOutlet internal var lowPriorityDotView : ColoredDotView! // Error here @IBOutlet internal var medPriorityDotView : ColoredDotView! // And here... @IBOutlet internal var highPriorityDotView : ColoredDotView! // And here... ... }
编译错误是:
EditTaskPopoverController.swift:15:49:使用未声明的类型’ColoredDotView’
我不明白。这是文件中的第一个编译错误,其余错误都是第一个的症状。此外, 没有其他文件 存在编译错误。我不明白为什么未声明类型,因为文件位于同一模块中:
我尝试清理项目,清理生成文件夹并重新启动Xcode,但无济于事。哪些潜在的失误会导致undeclared typeSwift中的编译器错误?
undeclared type
ew,终于诊断出来了。 不知何故 ,令人讨厌的Swift文件EditTaskPopoverController.swift处于两个不同的构建阶段。
EditTaskPopoverController.swift
这是在Compile Sources正确的,与所有其他雨燕的文件,但它 也 为一些很奇怪的原因,在Copy Bundle Resources阶段以及与所有我的XIB和图像资源一起。
Compile Sources
Copy Bundle Resources
我不知道它是如何到达那里的,但是从额外的构建阶段中删除它可以解决此问题。