Передача параметров Inter-ViewController в программирование iPhone ... как? - PullRequest
1 голос
/ 26 апреля 2010

Я прочитал: iPhone: как передавать данные между несколькими контроллерами представления в приложении с вкладками и мне было интересно, в чем разница между

[[UIApplication sharedApplicaton] delegate]

и

extern struct* global

Концептуально, я не вижу, как [[UIApplication sharedApplicaton] делегат] не является глобальной вещью. Фактически, это уменьшает чувство вины при использовании грязной глобальной структуры * сейчас.

Я начинаю новый проект очень скоро. Итак, я использую этот перерыв, чтобы задать вопрос: есть ли пример наилучшего кода , чтобы проиллюстрировать, как делиться данными между двумя ViewControllers (но не глобально)?

Позвольте мне привести пример:

  • это игра
  • есть имя NSString * для хранения имени игрока
  • есть оценка NSInteger для сохранения текущего счета игрока
  • GameMainViewController обновит и отобразит счет
  • в GameSettingViewController есть текстовое поле для редактирования имени и кнопка для сброса счета
  • GameMainViewController отвечает за установку имени по умолчанию (если ноль), сохранение имени и счета при выходе, загрузка обоих (если существует) при запуске

так

  • где я должен поставить "имя" и "оценка"?
  • как могут оба ViewControllers получать доступ и изменять значения

Спасибо!

1 Ответ

3 голосов
/ 26 апреля 2010

Вы можете сохранить имя и счет в NSUserDefaults .

Получить предмет:

NSString *name = [[NSUserDefaults standardUserDefaults]objectForKey:@"name"];

Настройка элемента:

[[NSUserDefaults standardUserDefaults]setObject:@"Horace" forKey:@"name"];

Кроме того, если это данные, которые вы хотите сохранить при каждом запуске приложения, вы можете заархивировать их в plist.

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