我的模块中有一个类型:
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
呼,终于确诊了。 不知何故 ,有问题的 Swift 文件EditTaskPopoverController.swift处于两个不同的构建阶段。
EditTaskPopoverController.swift
它Compile Sources与所有其他 Swift 文件一起正常,但出于某种非常奇怪的原因,它 也Copy Bundle Resources与我所有的 XIB 和图像资源一起处于阶段。
Compile Sources
Copy Bundle Resources
我不知道它是如何到达那里的,但是从额外的构建阶段中删除它解决了这个问题。