繁体   English   中英

字符串常量……最佳实践?

[英]String constant … best practise?

我正在寻找设置代码范围内使用的String常量的最佳实践

选项1

extern const NSString * cDownloadCompleteNotification; (.h文件)

const NSString * cDownloadCompleteNotification = @“ DownloadCompleteNotification”; (.m文件)

选项2

定义kNotificationDownloadComplete @“ NotificationDownloadComplete” ....(common.h)

有什么好处吗? ...还是只是个人喜好而已?

就个人而言,我选择前者,尽管在它们之间没有太多选择。 两种情况下的内存使用情况都相同。

#define中需要注意一些事项-例如,如果两次包含.h文件,该怎么办。

如果使用定义,然后更改常量的值,则可能会使用旧值编译某些文件,而使用新值编译某些文件-您将发现弄清楚为什么未调用通知处理程序的过程非常棘手! 为了确保已更改所有内容,必须在构建之前进行清洁。 如果使用外部NSString,则不会发生这种情况。*

希望对您有所帮助。

注意我不会将其声明为const-将其传递到NSNotificationCenter上的postNotificationName:方法时会收到编译器警告:(

* XCode应该足够聪明,可以将包含common.h的文件标记为需要重新生成,如果它发生更改,但是我发现它过去是错误的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM