我在 Objective-C 中使用正确的命名约定定义常量,但在互联网上进行一些搜索后,我发现了三种不同的命名约定来定义常量。下面给出的那些。
NSString *const kModel_userID;
NSString *const k_model_user_id;
NSString *const kUserId;
请检查这些并帮助我找出 Objective-C 中常量的最佳约定方式。如果您喜欢任何约定,请给我正当理由。另外,如果您有任何其他约定,也请分享。谢谢
最佳答案
前缀 + 范围/类 + 标识符/详细信息 + 后缀/ConstantType。
省略不适用的内容。
例子:
// A NSNotification name, pertaining to NSApplication
NSApplicationWillBecomeActiveNotification
PrClass Identifier SuffxType
非常地道且易于理解,IMO ;)
您对枚举使用类似的形式:
// enum NSApplicationDelegateReply
NSApplicationDelegateReplySuccess
PrClass Enum Identifier
我还应该注意,您应该为您的 API 选择具有 3 个或更多字符的前缀,以减少与 Apple 或其他人的 API 冲突的可能性。
k
前缀是一个较旧的约定。您会在 OS X 和 iOS 上的许多 C API 中找到它,例如 Core* 框架。如今,这对于 Objective-C API 来说不是很惯用。它在一些第三方项目中使用,但大写前缀约定对于 Objective-C 来说是最容易识别的。即使是 k
前缀常量也使用标识符来“命名空间”它们的 API,例如kCTLineTruncationStart
。聪明。
关于ios - 在 Objective-C 中定义常量的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19092158/