iPhone-глобальная переменная в раскадровке
Я хочу иметь глобальный массив / переменную в приложении для iPhone, которое использует раскадровку. Есть ли способ получить доступ к такой глобальной переменной из нескольких различных экранов раскадровки?
Спасибо Кевин
2 ответа:
Часть раскадровки несколько неуместна: стандартный способ достижения этого в cocoa-определить объектsingleton в качестве модели, разделить его заголовок между контроллерами, определенными в приложении (через раскадровку или иным образом), и создать экземпляр общей модели в коде запуска приложения.
Для получения информации о реализации синглетов в Objective C прочитайте Эту ссылку.
Может быть, проще всего хранить информацию в NSUserDefaults. Он будет доступен везде в приложении, так что это должно быть то, что вы хотите. Я публикую фрагмент, если вы не знаете, как с ним работать:)
Как установить его:
NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; BOOL yourVariable = YES; [settings setBool:yourVariable forKey:@"myVariableKey"]; [settings synchronize];
Как его получить:
NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; BOOL yourVariable = [settings boolForKey:@"myVariableKey"];
Я публикую пример с boolean, но это может быть любое значение, которое вам нужно - например:
[settings setValue:@"Hello!" forKey:@"welcomeMessage"];