我一直在寻找示例代码,有时苹果名称xib文件ClassNameView
有时ClassNameViewController
。 ClassName
始终是UIViewController
或UITableViewController
,我不知道命名xib时使用什么约定。我会认为视图,因为它不是真的ViewController
,但好奇约定或至少是什么你的命名约定是为xibs。xibs的名称约定
回答
我使用ClassNameView,因为xib代表视图,而不是视图控制器。我不认为有一个公认的惯例。
我似乎没有找到一个公认的惯例。不过,我在http://www.cimgf.com/2009/05/11/magical-iphone-view-controllers/上看到这篇博客文章,它说当使用init(而不是initWithNibName)时,它假定nib被命名为ClassNameView。 我可能会去查看,因为就像你说henning,它不是视图控制器。 – baalexander 2009-06-08 21:54:34
我一般使用ClassNameViewController,因为我将文件的所有者设置为该类,并且看起来很奇怪,因为在该对象的子对象的子对象所代表的东西之后命名该文件。和你一样,我已经在示例代码中看到了这两种方式,并且在某些情况下,我确实看到了一篇关于Cocoa的博客文章,显式查找了ClassNameView,但是我没有使用ClassNameViewController发生任何问题。
CocoaTouch支持公约,与用于较短的形式ClassNameView的偏好,按照当未指定笔尖名称在下面描述(来自the UIViewController documentation, under nibName)笔尖加载过程:
具体而言,它看起来(在顺序)与 下列名称之一的笔尖文件:
如果视图控制器类名用字“控制器”作为结束,在MyViewController ,它会寻找一个笔尖的文件的名字MATC他的 类名称没有“控制器”一词,就像在MyView.nib中一样。
它看起来是 一个nib文件,其名称与视图控制器 类的名称相匹配。例如,如果类名称是MyViewController,它看起来为 为MyViewController.nib文件。
所以其他人所说,这是偏好的问题!我个人喜欢较短的版本,但可以看到两者的逻辑。
- 1. 列名称约定
- 2. Java:方法名称约定
- 3. Python包名称约定
- 4. 方法名称约定
- 5. 特定名称约定的ls命令
- 6. C#命名约定(标题与名称)
- 7. C#同名类型名称约定
- 8. iOS xibs的动画制约因素
- 9. 名称和ID的约定是什么?
- 10. Python混淆 - 约定,名称和值
- 11. Grails和Groovy元类包名称约定
- 12. Java软件包名称约定失败
- 13. 在Cakephp数字模型名称约定
- 14. MySQL字段和表名称约定
- 15. 数据库名称约定:DATETIME列
- 16. Cassandra数据文件名称约定
- 17. AutoMapper压扁无名称约定
- 18. 自动更改C++名称约定
- 19. MySQL列名称标准/约定
- 20. 生成的表单名称的命名约定(ASPXFORM)
- 21. 导出模块变量名称的命名约定
- 22. 布尔变量名称的Java命名约定:writerEnabled vs writerIsEnabled
- 23. 有关查看模型避免长名称的命名约定
- 24. Laravel命名约定与相似的模型名称
- 25. 适当的型号名称和db表复数命名约定
- 26. 约束名称被忽略
- 27. NHibernate - 名称主键约束?
- 28. 项目命名约定:[公司] [项目名称]与[公司项目名称]
- 29. 命名约定
- 30. 命名约定
这让我感到困惑。我希望其他人可以继续在这里发声,因为我可以看到* both *样式的有效参数。这是一个IB文档,所以显然是**视图**正确的?但是,然后主人通常是一个**视图控制器**和笔尖可以包含*多个*视图... 我目前正在路营中寻找一个令人信服的理由来拉我一种方式或其他... – Meltemi 2009-07-01 19:19:35