为啥我的自定义类没有出现在 Interface Builder 的下拉列表中?
Posted
技术标签:
【中文标题】为啥我的自定义类没有出现在 Interface Builder 的下拉列表中?【英文标题】:Why aren't my custom classes appearing in the dropdown in Interface Builder?为什么我的自定义类没有出现在 Interface Builder 的下拉列表中? 【发布时间】:2019-12-06 01:18:50 【问题描述】:我正在使用 Interface Builder 和 Storyboards 来构建我的应用程序。我正在尝试将我的源代码连接到 Storyboard 中的UIViewController
,但我的所有课程都没有出现在自定义类下拉菜单中。这发生在 Xcode 11 beta 2 和 Xcode 11 beta 4 中。
我尝试了一些解决方案in this Stack Overflow answer,但它们不起作用。我已经完成了以下所有操作:
重新启动 Xcode 已删除派生数据 重新安装 Xcode 尝试了不同的故事板 重新创建了UIViewController
文件
做了一个新项目(问题甚至出现在那里)
在下拉菜单文本字段中输入 UIViewController
名称
所有解决方案都不起作用,我已确保将UIViewController
连接到情节提要,而不是UIView
之类的其他东西。我所有的UIViewControllers
和UITableViewControllers
都会出现这种情况。
(我希望我能展示一张图片,但我没有足够的声誉......)
我希望我创建的UIViewController
s 会出现在自定义类下拉列表中。我还惊讶地发现手动将视图控制器输入到文本字段中不起作用。相反,当我运行项目时,我只是在控制台中收到此消息:
Interface Builder 文件中的未知类 ViewControllerName。
【问题讨论】:
你的类是否继承UIViewController
?
@Sweeper 是的,我的班级继承了UIViewController
。
这是一个框架吗?
这可能为时已晚,但你知道在 Xcode10 中是否有效吗?
@dfd 刚刚检查了 Xcode 10。仍然无法正常工作。
【参考方案1】:
您的类似乎没有添加到项目目标中。试试这个:
1) 确保您的课程已添加到右侧检查员面板上的正确目标成员资格:
2) 确保类继承了 View Controller 类型:
class CustomViewController: UIViewController
3) 重新加载 xCode 并检查类是否启用:
【讨论】:
我没有“从目标继承模块”。现在它正在工作,但是,UIViewController
s 仍然没有出现在自定义类下拉列表中。
肯定有什么非常不对劲的地方,因为现在我不能使用展开转场。还有其他可能导致此问题的问题吗?
你在使用视图控制器扩展吗?这里也有类似的问题:***.com/a/40269030/3241041
我在我的视图控制器文件中使用了扩展,但即使我删除了它们,问题仍然存在。还能是什么?【参考方案2】:
这发生在我身上,我注意到“类”下拉菜单显示了我在后台打开的另一个项目的类。关闭所有其他项目后,下拉菜单最终显示了我正在处理的项目中的正确类列表。看起来像是 Xcode 故事板编辑器错误。
【讨论】:
以上是关于为啥我的自定义类没有出现在 Interface Builder 的下拉列表中?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的自定义 Swift 类没有转移到我的 GameScene [关闭]
使用 Xib 创建的自定义视图在 Interface Builder 中不起作用
为啥我不能在 react native 中导入我的自定义组件
在 Interface Builder 中使用泛型类作为自定义视图