Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone XIB的名称约定_Iphone_Ios_Cocoa Touch_Naming Conventions_Xib - Fatal编程技术网

Iphone XIB的名称约定

Iphone XIB的名称约定,iphone,ios,cocoa-touch,naming-conventions,xib,Iphone,Ios,Cocoa Touch,Naming Conventions,Xib,我一直在看示例代码,有时是Apple名称xib文件ClassNameView,有时是ClassNameViewController。ClassName始终是一个UIViewController或UITableViewController,这让我想知道在命名xib时使用什么约定。我认为View并不是真正的ViewController,但是,我很好奇XIB的命名约定是什么,或者至少您的命名约定是什么。我通常使用ClassNameViewController,因为我将文件的所有者设置为该类,并且以ni

我一直在看示例代码,有时是Apple名称xib文件
ClassNameView
,有时是
ClassNameViewController
ClassName
始终是一个
UIViewController
UITableViewController
,这让我想知道在命名xib时使用什么约定。我认为View并不是真正的
ViewController
,但是,我很好奇XIB的命名约定是什么,或者至少您的命名约定是什么。

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

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

CoCoatTouch支持这两种约定,并且根据下面描述的nib加载过程,当未指定nib名称时,首选较短形式的ClassNameView(从):

具体地说,它(按顺序)查找具有以下内容之一的nib文件: 以下名称:

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

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


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

    我似乎也没有找到一个普遍接受的惯例。然而,我在上一篇博文中读到,当使用init(而不是initWithNibName)时,它假定nib名为ClassNameView。我可能会选择View,因为正如您所说的henning,它不是View控制器。这也让我感到困惑。我希望其他人可以继续在这里插话,因为我可以看到这两种风格的有效论点。这是一个IB文档,显然是一个视图,对吗?但是,所有者通常是视图控制器,nib可以包含多个视图。。。我目前在道路营地中间寻找一个令人信服的论点来拉我一个或另一个…