InfoPlist.strings против global.h для констант
Если я хочу объявить константную строку (не обязательно изменяющуюся в зависимости от языка), которая может использоваться в нескольких .m
файлы я должен сделать это в моем InfoPlist.strings или я должен создать отдельный global.h
файл и использование #define
?
Исследование, которое я сделал, делает меня предметом global.h
это путь, но я хочу убедиться.
1 ответ
Это зависит от того, какой тип константы вам нужен. Для простой строковой константы, используя .strings
Файл имеет преимущество в том, что ему не нужно повторно компилировать двоичный файл, чтобы значения, доступные внутри приложения, с другой стороны, облегчали хакеру изменение.
Используя .h
лучше хранить константы, если вы хотите хранить числа, так как разбор целого числа из строки - задача не из легких.
В большинстве случаев я бы сказал, что .h
Лучше, но остерегайтесь ловушек использования одного! Вы не можете взять адрес константы в .h
(что обычно вам не нужно использовать), и сравнение строки с ==
а константа - это нет-нет.