如何在iOS Objective-C代码中使用名称空间?
我正在写一个iOS应用程序,“最佳韩国”。我的组织名称是“Srsly.co”。我将编写可用于我的应用程序的可重复使用的“新闻”库。如何在iOS Objective-C代码中使用名称空间?
每个iOS应用程序都将在.h文件中拥有自己的应用程序范围内的常量,并且库代码也将在头文件中具有其常量。我也会为每个这些项目进行测试。
这是做事的标准方式吗?
在Ruby,Python和Java等,我会成立了命名空间沿着这些线路:
co.srsly.bestkorea
co.srsly.bestkorea.test
co.srsly.newslib
co.srsly.newslib.test
据我所看到的,Objective-C的模式是每个开发者选择两种或三个大写字母,并将每个类名称加上前缀。
所以在我的情况,我想我会选择BK作为应用程序的类名前缀和NL的新闻LIB代码?我在想这个方法吗?
编辑:我正在考虑根本没有在我的应用程序代码中使用命名空间,如讨论here。
你说的没错,Objective-C没有内置的对命名空间的支持,常见的解决方案是在每个类上使用大写前缀。请注意,苹果has stated这两个字母的前缀是保留供他们使用的,所以你应该为你自己的类使用三个字母前缀。否则,你建议的方法是正常的事情。
+1两个字母的前缀信息 – borrrden 2013-03-21 03:45:09
对我来说也是新闻。 – abellina 2013-03-21 03:45:34
啊哈,所以按照该页面上的示例,我可以使用** SBK **作为应用程序代码前缀。 – Dogweather 2013-03-21 03:49:58
Objective-C中没有NameSpace,就像您期待的Java一样。
Objective-C使用像NS,UI,CG,CF等类前缀来安全地移除名称空间冲突。
而且最好为你的班级使用3字母前缀。
您应该阅读:What is the best way to solve an Objective-C namespace collision?
是的,这听起来很合理。 – abellina 2013-03-21 03:40:10