Глобальная переменная в iOS TabBar Application - PullRequest
4 голосов
/ 01 февраля 2012

Я создаю приложение ios в xcode 4.2. У меня есть внешний файл с базой данных. Я не хочу загружать данные в каждом представлении. Как мне создать одну глобальную переменную для приложения с вкладками? И когда я должен загрузить эту базу данных перед закрытием приложения?

Ответы [ 3 ]

5 голосов
/ 01 февраля 2012

В приложениях для iOS данные модели часто хранятся в singleton , а не в глобальной переменной. Вот статья, кратко описывающая синглтоны в Objective-C.

Вы можете загрузить свои данные в методе класса, который инициализирует ваш общий синглтон.Загрузка данных обратно немного сложнее, потому что сам синглтон не знает, когда это сделать.Поэтому вы должны создать экземплярный метод -(void)uploadData в своем одноэлементном классе и вызывать этот метод, когда ваше приложение будет закрыто.applicationWillResignActive: метод вашего делегата приложения - хорошее место для начала загрузки.

2 голосов
/ 27 февраля 2012

Я использую одиночные тоны, как это: в классе DataBase с некоторыми массивами данных я реализую метод общего доступа:

+(id)share
{
    static id share = nil;

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

    return share;
}

, а затем в некоторых классах: self.dataBase = [общий ресурс DataBase];

0 голосов
/ 13 февраля 2012

Вы можете создать глобальные переменные, выполнив это

extern NSString *someString;

@interface ......

@property (strong, nonatomic) NSString *someString;

@end

@implementation ......

@systhesize someString;

NSString *someString;

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