Цель C: хранить переменные, доступные во всех представлениях - PullRequest
0 голосов
/ 18 февраля 2011

Привет,

Я пытаюсь написать свое первое приложение для iPhone. У меня есть необходимость иметь доступ к данным во всех видах. Данные сохраняются при входе пользователя в систему и должны быть доступны для всех представлений после этого.

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

Это единственный способ записи данных в файл? Или есть другое более чистое решение, о котором я не подумал?

Заранее большое спасибо,

Ответы [ 2 ]

7 голосов
/ 18 февраля 2011

Используйте одноэлементный класс, я использую его все время для классов глобального менеджера данных, которые должны быть доступны из любого места внутри приложения.Вы можете создать простой как это:

@interface NewsArchiveManager : NetworkDataManager
{
}

+ (NewsArchiveManager *) sharedInstance;
@end

@implementation NewsArchiveManager

- (id) init
{
    self = [super init];
    if ( self ) 
    {
         // custom initialization goes here
    }

    return self;
}


+ (NewsArchiveManager *) sharedInstance
{
    static NewsArchiveManager *g_instance = nil;

    if ( g_instance == nil )
    {
        g_instance = [[self alloc] init];
    }

    return g_instance;
}


- (void) dealloc
{
    [super dealloc];
}

@end
1 голос
/ 18 февраля 2011

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

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