即使接口生成器是一个MyClass,我得到一个错误时启动应用程序。

当MyClass是库的一部分时,就会发生这种情况,如果直接在应用程序目标中编译该类则不会发生这种情况。


当前回答

转到“ProjectName”,点击它,然后进入“Build phases”选项卡,然后点击“compile sources”,然后点击“+”按钮,一个窗口将出现,选择“MyClass”。然后点击“添加”,

建立项目并运行它,问题一定会得到解决

其他回答

在我的例子中,这是因为我在.h文件中声明了UITableView单元格的子类的子类(两个子类的声明都在同一个.h文件中),但忘记在.m文件中对第二个子类进行空实现。

不要忘记实现你在.h文件中声明的子类的任何子类!听起来很简单,但很容易忘记,因为如果你在每个.h/中使用一个类,Xcode会为你做这件事。m文件。

当我添加一个选择器视图,然后删除它时,这个问题发生在我身上。如果它能帮助到别人,下面是我最终解决它的方法:

在XCODE打开文档大纲(不知道什么是文档大纲?我也没有-谷歌..:))。 在文档大纲窗口中找到使警告消息出现的场景。 在有问题的场景中,站在View上(点击),然后在Utility(谷歌it)窗口中选择Identity inspector选项卡,将自定义类名更改回默认的UIView。

不。:)

这让我有点抓狂,上面的建议都没有帮助我摆脱这个错误。幸运的是,我只有一个IB对象使用类,所以我只是删除了它,并添加了相同的类指定。错误消失了……

在我的情况下,类不能被找到,因为它是一个类定义在一个框架内的扩展,如下所示:

extension Buttons {
    public class MyButton: UIButton {
        // ...
    }
}

当我从扩展中提取类时,Storyboard最终可以找到类(MyFrameworkButton):

extension Buttons {
    public typealias MyButton = MyFrameworkButton
}

public class MyFrameworkButton: UIButton {
    // ...
}

我在更改类名时看到了这个错误,尽管更新了所有相关的.h和.m。结果,我错过了更新.storyboard文件中的“customClass”值。这样问题就解决了。