我的模块中有一个类型:

import Cocoa

class ColoredDotView : NSView {
   ...
}

它在许多不同的类别中使用,没有问题:

class EditSubjectPopoverController : NSObject {

    @IBOutlet internal var subjectColorDotView : ColoredDotView!
    ...
}

但是对于some reason,当我在一个specific类中使用它时,我在类型上有编译错误:

class EditTaskPopoverController : NSObject {

    @IBOutlet internal var lowPriorityDotView : ColoredDotView! // Error here
    @IBOutlet internal var medPriorityDotView : ColoredDotView! // And here...
    @IBOutlet internal var highPriorityDotView : ColoredDotView! // And here...
    ...
}

编译错误是:

这是一个超控器.swift:15:49:使用未声明的类型

我不明白.这是文件中的第一个编译错误,其余的错误都是第一个错误的症状.此外,还有no other files个存在编译错误.我不明白为什么类型没有声明,因为文件在同一个模块中:

在此处输入图像描述

我try 过清理项目,清理构建文件夹,重新启动Xcode,但都没有成功.哪些潜在的失误会导致Swift中出现undeclared type编译器错误?

推荐答案

唷,终于诊断出来了.Somehow,令人不快的Swift文件EditTaskPopoverController.swift处于两个不同的构建阶段.

它和所有其他Swift文件一起被正确地放在了Compile Sources个文件中,但由于一些非常奇怪的原因,它在Copy Bundle Resources阶段也是also个,还有我所有的XIB和图像资源.

我不知道它是如何做到这一点的,但将其从额外构建阶段移除解决了这个问题.

Swift相关问答推荐

如何根据列表中的项目数量创建多个变量?

自定义完整屏幕封面动画

SWIFT并发:合并Taskgroup和AsyncStream?

';NSInternal不一致异常';,原因:';可见导航栏Xcode 15.0 Crash请求布局

为什么Swift可以在没有足够信息的情况下推断类型?

如何在 SwiftUI 中为过渡动画保持相同的标识

在这个使用 URLSession 的简单 case 中是否创建了一个强引用循环?

是否可以使用 .task 修饰符更新基于两个值的视图

如何使用带有 span 样式标签的 Swift XMLParser

Swift - 如何更新多目录中的对象

单元测试和私有变量

Swift 函数 vs 惰性变量 vs 计算(computed)属性 - 区别?

iOS 判断应用程序是否可以访问麦克风

如何实现 Swift 的 Comparable 协议?

根据禁用与否更改 SwiftUI 中按钮的 colored颜色

自动布局:获取 UIImageView 高度以正确计算单元格高度

在 Swift 中以编程方式更新约束的常量属性?

在 unwind segue 之后执行 push segue

如何在 SwiftUI 中为删除和禁用配置 ContextMenu 按钮?

如何在 SwiftUI 中的一个视图上显示两个alert ?