之间最好的选择是什么:
#define kYes @"Yes"
和
static NSString *const kYes = @"Yes";
和
NSString *kYes = @"Yes";
从内存消费的角度来看。请记住,应用程序中将有数千个常量。
答案 0 :(得分:11)
从内存的角度来看 - 静态变量更好,因为它被引用一次。 #define会将字符串插入到所有出现的位置,通过它 - 乘以内存使用量...(除非GCC优化相同的常量字符串出现,它实际上可能。在这种情况下 - 没有区别)