InfoPlist.strings против global.h для констант

Если я хочу объявить константную строку (не обязательно изменяющуюся в зависимости от языка), которая может использоваться в нескольких .m файлы я должен сделать это в моем InfoPlist.strings или я должен создать отдельный global.h файл и использование #define?

Исследование, которое я сделал, делает меня предметом global.h это путь, но я хочу убедиться.

1 ответ

Решение

Это зависит от того, какой тип константы вам нужен. Для простой строковой константы, используя .strings Файл имеет преимущество в том, что ему не нужно повторно компилировать двоичный файл, чтобы значения, доступные внутри приложения, с другой стороны, облегчали хакеру изменение.

Используя .h лучше хранить константы, если вы хотите хранить числа, так как разбор целого числа из строки - задача не из легких.

В большинстве случаев я бы сказал, что .h Лучше, но остерегайтесь ловушек использования одного! Вы не можете взять адрес константы в .h (что обычно вам не нужно использовать), и сравнение строки с == а константа - это нет-нет.

Другие вопросы по тегам