Правильный способ хранения имен файлов ресурсов в Objective C - PullRequest
0 голосов
/ 03 апреля 2011

каким способом вы бы порекомендовали хранить имена файлов ресурсов (например, изображений). Я использую структуры #define, чтобы хранить их как константы, но я думаю, что это довольно уродливо, поскольку эти #define стали видимыми вне класса, если вы импортируете его заголовок.

Как я понимаю, существует несколько способов хранения имен файлов:

  • #define - я описал минусы выше
  • жестко закодированное имя файла в коде (например, [UIImage imageNamed:@"test.png"]Я думаю, что таким образом трудно поддерживать хороший код
  • файл свойств со словарем (опять же, нам нужно хранить ключи где-то в коде) ....

Я уверенЕсть более хороший способ сделать это. Можете ли вы поделиться, каким образом вы используете?

На самом деле у меня такой же вопрос для числовых private констант. Например, кнопка происхождения для пользовательского представления и т. д., который не должен бытьвидимый снаружи класс.

Ответы [ 2 ]

3 голосов
/ 03 апреля 2011

Я думаю, что не всегда недопустимо жестко кодировать имя файла, если есть одна ссылка на файл, а контекст ссылки (или прикрепленный комментарий) делает очевидной роль файла.

Я бы редко рекомендовал #define для константы из-за проблем с проверкой типов.В Objective C константа может быть определена с

NSString * const kSomeImageFilename = @"myImage.png";
0 голосов
/ 05 апреля 2011

В проектах с большим количеством ресурсов моя команда практикует размещение ресурсов в списке.Модификации имен файлов ресурсов в этом случае требуют только соответствующего изменения в списке.Имена ресурсов затем извлекаются по ключу из списка.

...