我对什么时候最好使用有点困惑:
static NSString *AppQuitGracefullyKey = @"AppQuitGracefully";
代替
#define AppQuitGracefullyKey @"AppQuitGracefully"
我见过类似的 C 或 C++ 问题,我认为这里的不同之处在于,这是专门针对 Objective C 的,利用对象,并且在像 iPhone 这样的设备上,可能存在堆栈、代码空间或内存问题我还没明白。
一种用法是:
appQuitGracefully = [[NSUserDefaults standardUserDefaults] integerForKey: AppQuitGracefullyKey];
或者这只是风格问题?
Thanks.
如果您使用静态,编译器将在二进制文件中嵌入该字符串的一份副本,并仅传递指向该字符串的指针,从而产生更紧凑的二进制文件。如果您使用#define,则每次使用时都会在源中存储该字符串的单独副本。恒定的字符串合并可以处理许多重复,但你会无缘无故地让链接器更加努力地工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)