我在Objective-C中定义了具有适当命名约定的常量,但在Internet上进行了一些搜索后,我发现了三种不同的命名约定来定义常量。下面给出的那些。
NSString *const kModel_userID;
NSString *const k_model_user_id;
NSString *const kUserId;
请检查这些并帮助我找出Objective-C中常量的最佳方法。如果您喜欢任何会议,请给我正当理由。此外,如果您有任何其他约定,请分享。感谢
答案 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
。智能。