Objective c 何时为自定义视图创建Interface Builder插件?

Objective c 何时为自定义视图创建Interface Builder插件?,objective-c,cocoa,macos,interface-builder,Objective C,Cocoa,Macos,Interface Builder,您建议何时使用插件将自定义视图集成到Interface Builder中?浏览苹果公司的网站时,我发现: 您的自定义对象是否仅由一个应用程序使用 自定义对象是否依赖仅在应用程序中找到的状态信息 将自定义视图封装在独立的库或框架中会有问题吗 如果您对上述任何一个问题的回答是肯定的,那么您的对象可能不是插件的理想候选对象 这回答了我的一些问题,但我仍然希望你能思考一下这是什么好主意。它的好处是什么?时间投资有多大?我认为苹果公司的指导方针很好地总结了这一点 如果您正在编写一个控件,该控件将在多个

您建议何时使用插件将自定义视图集成到Interface Builder中?浏览苹果公司的网站时,我发现:

  • 您的自定义对象是否仅由一个应用程序使用
  • 自定义对象是否依赖仅在应用程序中找到的状态信息
  • 将自定义视图封装在独立的库或框架中会有问题吗
如果您对上述任何一个问题的回答是肯定的,那么您的对象可能不是插件的理想候选对象


这回答了我的一些问题,但我仍然希望你能思考一下这是什么好主意。它的好处是什么?时间投资有多大?

我认为苹果公司的指导方针很好地总结了这一点

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

如果您的控件仅限于一个应用程序,或者与数据紧密耦合,那么将其移动到自定义对象中并不会给您带来太多好处


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

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

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


这是一点编码,但是对于在多个地方使用的视图和控制器类,并且在实际使用之前需要额外的设置,您可能会从总体上节省大量时间。您使用自己的控制器和视图类开发的经验将与使用Cocoa类开发的经验相同。

我同意。但我会将视图类直接添加到目标应用程序中,而不是添加到单独的框架中,即使它嵌入到应用程序包中。