15

我正在编写一个 iOS 应用程序“Best Korea”。我的组织名称是“Srsly.co”。我将编写可在我的应用程序中使用的可重复使用的“新闻”库。

每个 iOS 应用程序都将在.h文件中拥有自己的应用程序范围的常量,并且库代码也将在头文件中拥有其常量。我还将对每个项目进行测试。

这是做事的标准方式吗?

在 Ruby、Python、Java 等中,我会按照以下方式设置命名空间:

co.srsly.bestkorea
co.srsly.bestkorea.test
co.srsly.newslib
co.srsly.newslib.test

据我所知,Objective-C 模式是让每个开发人员选择两个或三个大写字母并在每个类名前面加上它们。

所以就我而言,我想我会选择BK作为应用程序的类名前缀,而选择NL作为新闻库代码?我是否以正确的方式思考这个问题?

编辑:我正在考虑在我的应用程序代码中根本不使用命名空间,如此所述。

4

2 回答 2

35

没错,Objective-C 没有内置对命名空间的支持,常见的解决方案是在每个类上使用大写前缀。请注意,Apple已声明保留两个字母前缀供其使用,因此您应该为自己的类使用三个字母前缀。否则,您建议的方法是正常的做法。

于 2013-03-21T03:43:05.250 回答
2

正如您在 Java 中所期望的那样,Objective-C 中没有 NameSpace。

Objective-C 使用 NS、UI、CG、CF 等类前缀来安全地消除名称空间冲突。

最好为您的班级使用 3 个字母前缀。

您应该阅读以下内容:解决 Objective-C 命名空间冲突的最佳方法是什么?

于 2013-03-21T03:45:55.057 回答