Interface Builder文件中的未知类XXXXX

时间:2015-11-13 16:33:51

标签: ios swift

我写了两个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看起来像这样。

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

中报告了同样的问题

4 个答案:

答案 0 :(得分:3)

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

enter image description here

这是错误:

enter image description here

然后我删除了类名视图控制器,然后重新输入它,然后我没有收到错误:

enter image description here

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

答案 1 :(得分:1)

首先,您需要创建2个课程ViewControllerViewController2 如图像enter image description here

然后将其链接为图像

enter image description here

例如代码:

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

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

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

答案 2 :(得分:1)

在Interface Builder中分配自定义类名时,也请选择模块名称。如果它保留为"无",您将获得您描述的结果。

答案 3 :(得分:0)

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

在更正之后,您应该从storyboard中的viewcontrollers中删除自定义类,构建项目,再次插入自定义类并重新构建。