определить статическую константу Vs против NSString - Точка зрения памяти - PullRequest
11 голосов
/ 30 марта 2011

Какая лучшая ставка между:

#define kYes @"Yes"

И

static NSString *const kYes = @"Yes";

И

NSString *kYes = @"Yes";

с точки зрения потребления памяти.Учитывая, что в приложении будут тысячи констант.

1 Ответ

11 голосов
/ 30 марта 2011

С точки зрения памяти - статическая переменная лучше, так как на нее ссылаются один раз. #Define вставит строку во все вхождения, тем самым - умножив использование памяти ... (то есть, если GCC не оптимизирует те же вхождения константной строки, что на самом деле может. В этом случае - разницы нет)

...