Objective-C中常量的命名约定是什么(或者最常用的命名方式)?如何在Objective-C中命名常量?
extern
常数有不同的标准吗?
有些款式我看到:
NSString* const kPreferenceFirstRun = @"FirstRun";
// Replace "XY" by a prefix representing your company, project or module
NSString* const XYPreferenceFirstRun = @"FirstRun";
我认为双字母前缀vs k前缀的好处是双重的:1)双字母前缀可以让您轻松过滤你的自动完成选择只适用于你正在寻找的一组常量。2)在查看代码时,你确切知道常量来自哪个域。想象一下,如果您正在开发一个在Xcode中使用多个兄弟项目的项目,并且他们都使用k作为常量的唯一标识符 - 那么您会被困在所有兄弟项目中的所有常量列表中。或者,如果每个项目都使用自己的双字母域前缀,它变得更容易。 – memmons 2012-03-12 18:05:28
非常有趣的一点,和非常有趣的答案。在每个头文件(MyClass.h)上声明常量会更好吗,还是最好有一个全局的.h文件(Constants.h或类似的)专门包含常量声明?我已经在许多C/C++项目中看到了这种最后的做法,为什么不在objC – voghDev 2014-07-17 08:10:35
值得注意的是,很多Apple库都使用了kPrefixConstantNamingConvention。所以,无论你是去哪一种,都是基于个人喜好。我通常使用kPrefix,但我也倾向于避免使用全局常量,因此命名这些常量的距离变得不那么重要。 – 2015-11-12 12:57:27