【问题标题】:Name conventions for xibsxib 的命名约定
【发布时间】:2010-10-31 21:30:22
【问题描述】:

我一直在查看示例代码,有时 Apple 将 xib 文件命名为 ClassNameView,有时则为 ClassNameViewControllerClassName 始终是 UIViewControllerUITableViewController,这让我想知道在命名 xib 时使用什么约定。我认为 View 因为它不是真正的 ViewController,但很好奇 约定是什么,或者至少你对 xibs 的命名约定是什么。

【问题讨论】:

  • 这也让我感到困惑。我希望其他人可以继续在这里加入,因为我可以看到 both 样式的有效参数。这是一个 IB 文档,所以显然是 view 对吗?但话又说回来,所有者通常是 视图控制器,并且 nib 可以包含 多个 视图...我目前在路边营地寻找令人信服的论据以一种或另一种方式拉我...

标签: iphone ios cocoa-touch naming-conventions xib


【解决方案1】:

CocoaTouch 支持这两种约定,首选更短形式的 ClassNameView,根据下面描述的 nib 加载过程,当未指定 nib 名称时(来自the UIViewController documentation, under nibName):

具体来说,它会(按顺序)查找具有以下属性之一的 nib 文件 以下名称:

  1. 如果视图控制器类名以单词“Controller”结尾,则为 在 MyViewController 中,它会查找名称与 不带“Controller”一词的类名,如 MyView.nib。

  2. 看起来 对于名称与视图控制器名称匹配的 nib 文件 班级。例如,如果类名是 MyViewController,它看起来 对于 MyViewController.nib 文件。

正如其他人所说,这是一个偏好问题!我个人喜欢较短的版本,但可以看到两者的逻辑。

【讨论】:

    【解决方案2】:

    我使用 ClassNameView 因为 xib 代表视图,而不是视图控制器。我认为没有普遍接受的约定。

    【讨论】:

    • 我似乎也没有找到普遍接受的约定。但是,我在cimgf.com/2009/05/11/magical-iphone-view-controllers 阅读了这篇博文,其中说在使用 init(而不是 initWithNibName)时,它假定 nib 被命名为 ClassNameView。我可能会选择 View,因为就像你所说的 henning,它不是视图控制器。
    【解决方案3】:

    我通常使用 ClassNameViewController,因为我将 File's Owner 设置为该类,并且以 nib 所代表对象的子对象命名文件似乎很奇怪。和你一样,我在示例代码中看到了这两种方式,我确实看到了一篇关于 Cocoa 在某些情况下明确寻找 ClassNameView 的博客文章,但我在使用 ClassNameViewController 时没有遇到任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 2011-06-17
      • 2011-02-22
      • 2011-02-07
      相关资源
      最近更新 更多