17

我使用MyView.

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

然后我在运行时遇到问题说...

Unknown Class MyView in Interface Builder file

我不知道出了什么问题,所以我现在已经从项目和目录中删除了文件。

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

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

仍然得到同样的错误。

任何想法我现在可以做什么?

4

10 回答 10

23

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

要修复它,请将情节提要作为源代码打开并替换此行:

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

对此:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass"
 customModule="AppName" customModuleProvider="target" sceneMemberID="viewController">
于 2014-11-30T16:10:30.390 回答
13

就我而言,我通过在 Identity Inspector 中选中“从目标继承模块”选项来解决。 在此处输入图像描述

于 2019-03-26T13:29:30.070 回答
9

转到查看 -> 实用程序转到 .m 文件的文件检查器

打开 Target Membership 部分并确保为此 .m 文件选择了您的目标

于 2015-01-19T07:50:53.897 回答
6

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

于 2014-12-01T09:37:00.200 回答
3

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

删除 .xib 后我会做什么:

  1. 从设备中删除应用程序
  2. 清理应用代码中的构建文件夹
  3. 使缓存无效并重新启动,在启动之前杀死应用程序代码
  4. 删除xcode中的派生数据
  5. 启动应用程序代码

第 4 步不应该是必要的,但我的感觉是,没有它我仍然会看到已删除的 .xib

于 2014-03-14T11:04:21.753 回答
2

当我重命名自定义视图类并且模块(在选择视图时的身份检查器中)为空白时,这发生在我身上。它保持空白,因为 Xcode 没有自动完成自定义类名,因此它使模块空白。我所要做的就是在构建后重新输入类名,然后它会自动完成,并选择到适当的模块(当前 - 目标)

在此处输入图像描述

于 2016-08-24T16:26:53.043 回答
1

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

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

我把名字改成了MyOtherViewController

构建 - 运行 - 工作。

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

于 2013-10-16T12:06:37.057 回答
1

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

于 2014-05-28T18:13:47.477 回答
0

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

于 2016-07-11T08:25:29.550 回答
0

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

在此处输入图像描述

于 2021-03-31T06:59:49.337 回答