定义Vs静态常量Vs NSString - 存储器的观点

时间:2011-03-30 08:03:02

标签: iphone cocoa-touch nsstring constants

之间最好的选择是什么:

#define kYes @"Yes"

static NSString *const kYes = @"Yes";

NSString *kYes = @"Yes";

从内存消费的角度来看。请记住,应用程序中将有数千个常量。

1 个答案:

答案 0 :(得分:11)

从内存的角度来看 - 静态变量更好,因为它被引用一次。 #define会将字符串插入到所有出现的位置,通过它 - 乘以内存使用量...(除非GCC优化相同的常量字符串出现,它实际上可能。在这种情况下 - 没有区别)