没有在自定义类下拉列表中显示 EDStarRating?

Posted

技术标签:

【中文标题】没有在自定义类下拉列表中显示 EDStarRating?【英文标题】:Not Showing EDStarRating in Custom class dropdown list? 【发布时间】:2016-05-14 12:52:28 【问题描述】:

我在我的应用程序中集成了EDStarRating。它在一个视图控制器上运行良好。但奇怪的问题是它不能在另一个视图控制器上工作。

我已经搜索了几乎所有与此问题相关的谷歌问题,但没有什么对我有用。

我从我的应用程序中删除了EDStarRating,再次添加。然后它也没有显示在自定义类下拉列表中。我已经检查了构建阶段,它就在那里。

另一个奇怪的事情是它没有显示在自定义类下拉列表中,但它在一个视图控制器上工作正常,没有问题。 同样的东西试图应用到另一个视图控制器上它给出了错误。

Unknown class _MyApplication14MYEDStarRating in Interface Builder file.

感谢帮助

【问题讨论】:

【参考方案1】:

您是否同时编写了它可以使用的视图控制器和它在 Swift 中不可以使用的视图控制器?如果你得到一个 Objective-C 类的模块损坏的类名,这表明你遇到了这种错误的一种形式:

Objective-C class is interpreted as Swift class in Interface Builder

实际结果: Outlet 将引用 Swift 类 - 名称与 App 模块名称混淆,因此无法解析为该类的实例。

结果是子视图在界面生成器中具有原始类。如果是从'View'拖出来的,就是UIView的实例,如果是从'ImageView'拖出来的,就是UIImageView的实例。

我的建议是查看情节提要的来源(右键单击,打开为 > 源代码),然后手动将 customClass 从有效的实例复制到无效的实例。假设它们不同,Interface Builder 就会感到困惑。如果它们没有不同……那么还有一些更微妙的 Swift/Objective-C 桥接问题。可能只是在 Swift 中重写 EDStarRating 比弄清楚它要快,真的。

【讨论】:

感谢您的回答。我检查了工作视图控制器和非工作视图控制器。我在那里得到了区别。这是额外设置为非工作视图控制器的两个属性。 customModule="MyApplication" customModuleProvider="target"。删除后我的代码工作正常。

以上是关于没有在自定义类下拉列表中显示 EDStarRating?的主要内容,如果未能解决你的问题,请参考以下文章

MFC 在自定义工具栏上添加有下拉菜单的按钮。

在自定义类下拉菜单 Xcode 8.3.2 中找不到自定义控制器类

.Contains() 在自定义类对象列表中

listview 项目未在自定义适配器的 getview 方法中显示分配的值

为啥我的自定义类没有出现在 Interface Builder 的下拉列表中?

UITableView 单元格未显示放置在自定义单元格上的 UITableView(KPDropDown)