关于Objective C:何时为自定义视图创建Interface Builder插件?

关于Objective C:何时为自定义视图创建Interface Builder插件?

When to create Interface Builder plug-in for custom view?

何时建议您使用插件将自定义视图集成到Interface Builder中?浏览Apple的《 Interface Builder插件编程指南》时,我发现:

  • Are your custom objects going to be used by only one application?
  • Do your custom objects rely on state information found only in your application?
  • Would it be problematic to encapsulate your custom views in a standalone library or framework?

If you answered yes to any of the preceding questions, your objects may not be good candidates for a plug-in.

这回答了我的一些问题,但是我仍然希望您能想到一个好主意。好处是什么?有多少时间投入?


将应用程序使用的视图和控制器类推送到一个单独的框架中是完全合理的,该框架"嵌入在应用程序package器中",您还将为此生成一个Interface Builder插件。

除其他原因外,然后可以在Interface Builder中使用它们的使用点(而不是在分散的-awakeFromNib实现中)配置应用程序中常用的类。这也是使对象公开可以在Interface Builder中设置的绑定的唯一方法。

这是一些编码,但是对于在多个地方使用的视图和控制器类,在实际使用它们之前需要进行额外的设置,您可能会节省大量的时间。您使用自己的控制器和视图类进行开发的经验就像使用Cocoa进行开发一样。


我认为Apple指南很好地总结了它。

如果您要编写一个将在多个应用程序中使用并且完全通用的控件,那么创建自定义对象是个好主意。您将可以直接从Interface Builder可视化外观并设置属性。

如果您的控件仅限于一个应用程序,或者与您的数据紧密耦合,那么将其移至自定义对象中确实不会花很多钱。

创建自定义视图并不难,那里有很多易于遵循的指南。


推荐阅读