Interface Builder文件中的未知类****

时间:2013-10-16 11:06:29

标签: ios objective-c xcode appcode

我使用MyView的根类添加了一个UIView xib文件。

我在错误的地方创建了它,因此在项目中移动了它。同一个项目只是一个不同的文件夹/组。

我在跑步时遇到了问题......

Unknown Class MyView in Interface Builder file

我无法弄清楚出了什么问题,所以我现在已经删除了项目和目录中的文件。

我已经使用SublimeText2搜索了字符串“MyView”,它在项目的任何地方都不存在。

我重置了模拟器,清理了项目和构建文件夹并删除了派生数据。

仍然遇到同样的错误。

我现在可以做些什么?

10 个答案:

答案 0 :(得分:20)

有时IBuilder错过 customModule="AppName" customModuleProvider="target"

要解决此问题,请打开storyboard作为源代码并替换此行:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass"
sceneMemberID="viewController">

到此:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass"
 customModule="AppName" customModuleProvider="target" sceneMemberID="viewController">

答案 1 :(得分:9)

转到视图 - &gt;公用事业 转到.m文件的文件检查器

打开目标成员资格部分,确保为此.m文件选择目标

答案 2 :(得分:3)

appcode非常顽固地保持旧的xib缓存在某处,如果你有缓存的xib并且它与你的控制器具有相同的名称,它将尝试在启动时加载它。

删除.xib后我做了什么:

  1. 从设备中删除应用
  2. 在应用代码中清理构建文件夹
  3. 使缓存无效并重新启动,在启动之前终止应用代码
  4. 删除xcode中的派生数据
  5. 启动appcode
  6. 第4步不应该是必要的,但我的感觉是没有它我仍然会看到删除的.xib

答案 3 :(得分:3)

如果Xcode项目中有多个目标,请确保为您正在测试的目标编译错误文件中提到的类。

答案 4 :(得分:1)

好的,所以我删除了导致问题的类的所有引用,但仍然没有。

但是,我还有一个名为MyViewController的UIViewController子类。这没有加载到任何IB文件中,所以我不知道它是如何导致问题的。

我将名称更改为MyOtherViewController

构建 - 运行 - 工作。

我不知道如何或为什么,但它现在有效。

答案 5 :(得分:1)

当我在一个文件中有多个类声明时,我遇到了同样的问题。 我做的是我在我的一个视图控制器中声明了一个UITableViewCell子类,并且忘了把UITableViewCell子类放在&#39; @implementation在视图控制器的.m文件中。

答案 6 :(得分:1)

当我重命名自定义视图类时,这种情况发生在我身上,而模块(在选择视图时在标识检查器中)是空白的。它仍然是空白的,因为Xcode没有自动完成自定义类名,因此它将模块留空。我所要做的就是在构建之后重新输入类名,然后自动完成,并选择适当的模块(当前 - 目标)

enter image description here

答案 7 :(得分:0)

根据我的经验,上述所有解决方案都没有成功。 然后我不得不在所有误入歧途的Xib中重新输入自定义类。 作为一个惊人的结果,它刚刚成功,我所做的事情重新连接了@interface和IB之间丢失的连接。 希望有用。

答案 8 :(得分:0)

对于我来说,我通过检查Identity Inspector中的“从目标继承模块”选项来解决。 enter image description here

答案 9 :(得分:0)

我在使用来自 SPM 数据包的自定义类时遇到了这个问题。将自定义类模块设置为 SPM 数据包名称为我解决了这个问题。

enter image description here