【问题标题】:Unknown class XXXXX in Interface Builder fileInterface Builder 文件中的未知类 XXXXX
【发布时间】:2016-02-15 07:36:41
【问题描述】:

我写了两个 swift 文件。

// ViewController.swift
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

// ViewController2.swift
import UIKit

class ViewController2: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

我的Main.storyboard 看起来像这样。

当我运行这些程序时,我得到了

2015-11-14 01:17:46.705 hoge[23606:1084831] Unknown class ViewController in Interface Builder file.
2015-11-14 01:17:49.311 hoge[23606:1084831] Unknown class ViewController2 in Interface Builder file.

我该如何解决? 源代码为here

我正在使用 XCode 版本 7.1.1 (7B1005)。


已解决:我将目录移动到~/Desktop,最后它运行了。很奇怪……

Unknown class in Interface Builder file. Xcode 6 and Swift 中报告了同样的问题

【问题讨论】:

  • 只需重新启动 Xcode 并在故事板文件中再次设置类。
  • 将类命名为更有意义的东西可以避免这种混淆;-)
  • 抱歉,ViewController2.swift 的类名中出现复制/粘贴错误。固定。

标签: ios swift


【解决方案1】:

在您的 IB 中选择您的视图控制器并在自定义类字段中提供正确的类名。移除视图控制器并输入类名,xcode 应该会自动建议可用的类名。那么应该没问题!!!

这是错误:

然后我把类名视图控制器去掉了,重新进入,就没有报错:

如果你仔细看,模块名称被更改为 hoge !!!以前没有!!!

【讨论】:

  • 为什么投反对票?我下载了他的源代码并运行了这个项目。唯一的问题在于 IB 自定义类字段。
  • 自定义类字段采用类而不是文件名。答案是错误的,它适用于您的情况,因为恰好有一个名为 viewController 的类,所以不是崩溃而是视图指向错误类的错误。
  • 可能是措辞错误。我的意思只是类名。感谢您的评论!!!
  • 顺便说一句,他在问题中提供的源代码链接没有您在回答中所说的问题!!! @米卡
  • 那么你的截图应该会显示viewController2,他需要修复类:)
【解决方案2】:

首先,您需要创建 2 个类 ViewControllerViewController2 就像图片

然后像图片一样链接

例如代码:

// ViewController1.swift
import UIKit
class ViewController: UIViewController {
    //your code here...
}

// ViewController2.swift
import UIKit
class ViewController2: UIViewController {
    //your code here...
}

希望我能帮助你解决这个问题。

【讨论】:

    【解决方案3】:

    当您在 Interface Builder 中分配自定义类名称时,也要选择一个模块名称。如果将其保留为“无”,您将获得您描述的结果。

    【讨论】:

      【解决方案4】:

      你的两个类——尽管你的 swift 文件的命名不同——都被称为ViewController。也许这就是问题所在?!

      在更正您应该从情节提要的视图控制器中删除自定义类之后,构建项目,再次插入自定义类并再次构建。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-23
        • 2018-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多