【问题标题】:Unknown class <MyClass> in Interface Builder file in Swift [duplicate]Swift 中的 Interface Builder 文件中的未知类 <MyClass> [重复]
【发布时间】:2014-09-18 22:08:31
【问题描述】:

我正在编写来自 Apple 的 ToDoList Objective-C 教程,但尝试使用 Swift 编写。 (Tutorial)

现在我已经准备好了,当我运行应用程序时,我得到了错误:

Swift 中 Interface Builder 文件中的未知类 AddToDoItemViewController。

this thread 中,有人解决了一个问题,我认为在Objective-C 中与[MyClass class] 有类似的问题。在 Swift 中是否有类似的方法可以做到这一点?

【问题讨论】:

  • 你有一个名为AddToDoItemViewController的Swift类吗?
  • 我遇到了类似的问题(Xcode 6 Beta 6)。我有一个带有自定义类的视图控制器(在故事板中)。这是在这里讨论的:stackoverflow.com/questions/24924966/…@grfs 的答案(在撰写本文时接受的答案)对我有用。

标签: ios swift interface-builder


【解决方案1】:

swift 中类似的行是AddToDoItemViewController.self。真正重要的是您从 swift 代码中调用视图控制器,以便链接器知道包含该文件。

【讨论】:

  • 感谢您的帮助。但不知何故,这并不能解决问题......我必须在哪里插入这段代码。总是得到错误:预期的声明。
  • 您几乎可以在任何地方添加它。一个简单的放置位置是在 AppDelegate 中 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -&gt; Bool
  • @connor 不必在代码中引用类,肯定不是链接器默认优化这些类?这是否可能类似于缺少“-all_load -ObjC”问题? IE。 stackoverflow.com/a/6092090/88111
【解决方案2】:

我发现在我的很多 Swift 控制器上都有一个新的模块选项设置为无

所以要修复它,只需将 Class 设置为不同的,然后将其设置回来。这给了我这个

【讨论】:

  • +1 这发生在我重命名模块后(明确设置了旧模块名称)。我用同样的方法更正了它。
  • 我这样做了,但模块永远不会改变。当我将 Class 更改为不同的 Class 时它不会改变,当我将它放回正确的 Class 时它不会改变。 :(
  • 你是个伪装大师! 10x 一堆。
  • 工作解决方案。这应该是公认的答案
【解决方案3】:

当我犯了一个错误并在@OBJC 语句中使用了与我声明的类名不同的名称时,我遇到了这种情况。

【讨论】:

    猜你喜欢
    • 2011-03-25
    • 2016-09-06
    • 2023-03-22
    • 2015-01-05
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    相关资源
    最近更新 更多