使用NSDictionary时是否使用常量?

Pad*_*215 8 objective-c ios

我理解在NSDictionary中使用常量作为你的名字以防止拼写错误(myName将自动完成vs @"myName"不会).

我正在使用中等大小的词典,现在和几次,我错误地输入了关键名称,并且不得不花一些时间追踪我想念拼写单词的地方.

我想知道,你认为设置常量命名方案是否值得?

Nic*_*ood 21

是的,但我建议为你的字符串定义正确的字符串常量而不是#defines,因为字符串常量是类型安全的,每个引用都将使用相同的实际字符串对象,这提高了isEqualToString:用于比较它们的性能.

要定义私有字符串常量,可以将其放在.m文件中:

static NSString *const MyConstant = @"MyConstant";
Run Code Online (Sandbox Code Playgroud)

要将其公开,您可以将其放在.h文件中,也可以将其放在.h中来拆分定义:

extern NSString *const MyConstant;
Run Code Online (Sandbox Code Playgroud)

这在你的.m文件中:

NSString *const MyConstant = @"MyConstant";
Run Code Online (Sandbox Code Playgroud)

  • +1非常好的答案和完全的方式 - 希望这将由我的一些同事经常使用这些东西的定义阅读; 雷电应该在马桶上打他们! (3认同)