ios - 如何将 IBOutlet 连接到类类别的 Storyboard

标签 ios objective-c storyboard objective-c-category

我有一个 CarViewController 类,它有几个类类别文件。 CarViewController.m 导入 CarViewController+protected.h。我想在 car+protected.h 中包含一些 IBOutlet 属性,以便我可以在我的 CarViewController.m 和其他类类别实现文件中使用它们。

我打开了辅助编辑器,但无法从我的 View 拖动到 CarViewController+protected.h 中的 Outlet。但是,我能够从 CarViewController+protected.h 中的 Outlets 拖动到 Storyboard 中的 View 。

我运行了我的代码,最终得到了一个这个类不是键的键值编码兼容的键错误,这通常意味着你在项目的某个地方有一个过时的连接。我已经检查过这个并清理了项目,但我似乎无法克服这个错误。

是否可以让 IBOutlets 连接到类类别头文件中的 Storyboard?如果没有,我可以使用类扩展文件吗?我的 CarViewController 类变得非常大,我想使用类别或扩展来分解文件大小并更好地组织我的代码。

最佳答案

您不能在类别中声明属性,因此无法将 IBOutlet 属性连接到类别。

在您的情况下,使 CarViewController 成为父类(super class)并使子类继承该类可以解决问题。

关于ios - 如何将 IBOutlet 连接到类类别的 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29933954/

相关文章:

iphone - 这两种方法对性能的影响相同还是不同?

objective-c - UITabBar 未在 ios 7 中显示所选项目图像

iphone - 从存储在 NSArray 中的对象获取类/类型

ios - Autolayout 调整多个标签的大小

objective-c - 自定义UI分段控件

iphone - 如何将值传递给父 View Controller ?

ios - 如何通过 Storyboard向 UIButton 添加 subview ?

swift - 快速向下滑动时的搜索栏

ios - 在表格 View 单元格中单击按钮时如何使用参数调用 View Controller

ios - 动画时 UIView 不动