在Objective-C中定义常量的最佳方法

时间:2013-09-30 10:41:28

标签: ios objective-c naming-conventions

我在Objective-C中定义了具有适当命名约定的常量,但在Internet上进行了一些搜索后,我发现了三种不同的命名约定来定义常量。下面给出的那些。

NSString *const kModel_userID;
NSString *const k_model_user_id;
NSString *const kUserId;

请检查这些并帮助我找出Objective-C中常量的最佳方法。如果您喜欢任何会议,请给我正当理由。此外,如果您有任何其他约定,请分享。感谢

1 个答案:

答案 0 :(得分:7)

前缀+范围/类+标识符/详细信息+后缀/常量类型。

省略不适用的内容。

示例:

// A NSNotification name, pertaining to NSApplication
NSApplicationWillBecomeActiveNotification
PrClass      Identifier      SuffxType

非常惯用且易于理解,IMO;)

您使用与枚举类似的表单:

// enum NSApplicationDelegateReply
NSApplicationDelegateReplySuccess
PrClass      Enum         Identifier

我还应该注意,您应该为具有3个或更多字符的API选择前缀,以减少与Apple或其他API碰撞的可能性。

k前缀是较旧的约定。您可以在OS X和iOS上的许多 C API中找到它,例如Core *框架。现在,Objective-C API并不是非常惯用。它在一些第三方项目中使用,但大写前缀约定对于Objective-C是最容易识别的。即使k前缀常量使用标识符来“命名”其API,例如kCTLineTruncationStart。智能。