Где хранить фиксированные переменные NSString в приложении какао? - PullRequest
0 голосов
/ 02 октября 2011

У меня есть разные классы, которые имеют фиксированные переменные NSString (например, @ "/ Users / user / media" или команды xml).Я думаю, что хранить все в классе - плохой дизайн.Как лучше всего хранить фиксированные строки NSStrings?Может быть, что-то вроде файла настроек?

PS Я новичок в Какао, пожалуйста, опишите его подробно, как я могу хранить и прочитать эти значения.Спасибо.

Ответы [ 2 ]

1 голос
/ 02 октября 2011

Зависит от области видимости - если вы хотите просто отказаться от реализации, вы можете просто вставить .m, но если вы хотите публично представить ее потребителям класса (за пределами вашей реализации .m), вам также нужно его исключить. .

В шапке:

#import <Cocoa/Cocoa.h>

extern NSString* const BNRTableBgColorKey;
extern NSString* const BNREmptyDocKey;

@interface PreferenceController : NSWindowController
{
    ...

В реализации:

- (id)init
{
    NSLog(@"init");

    NSString * const BNRTableBgColorKey = @"TableBackgroundColor";
    NSString * const BNREmptyDocKey = @"EmptyDocumentFlag";
1 голос
/ 02 октября 2011

Это много способов, но мне нравится делать это в файлах реализации моего класса:

NSString *const ABConstantStringname = @"name";

Где AB - это используемый вами интервал имен (если вы его используете), а ConstantStringName - это какое-то значимое имя для константы.

Затем, позже, вы можете просто использовать переменную ABNameIdentifier, когда захотите. Вы не отпускаете его .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...