Как вы реализуете экран настройки? - PullRequest
2 голосов
/ 11 июля 2011

Согласно тэгам, я разрабатываю в Xcode для iPad.

Итак, у меня есть экран настройки новой игры, который находится между экраном главного меню и реальным экраном игры. Предполагается, что новый экран настройки игры позволит пользователю настроить свою игру, выбрав количество игроков, выбрав аватар для каждого и указав их имена. Я установил кнопку «Продолжить», чтобы записать все настройки в файл appData.plist, прежде чем перейти к реальному экрану игры. Когда появляется игровой экран (метод viewDidLoad), он читает из списка, чтобы добавить игроков к столу с их соответствующими аватарами и т. Д.

Вопрос в том, является ли это правильным способом передачи данных с нового экрана настройки игры на экран игры? Должен ли я использовать какой-либо метод для сбора информации с экрана и передачи ее на экран игры без записи в какой-либо файл? Я предполагаю, что главный вопрос заключается в том, как вы должны передавать данные с одного контроллера представления на другой? Я использую какой-то файл plist для записи, а затем для чтения, когда появляется доска. Я получаю подлое подозрение, что это не правильный способ сделать это. Тем не менее, я думаю, что в какой-то момент мне все равно нужно сохранить эти данные в файл, так как я должен быть в состоянии восстановить состояние моего приложения даже в том случае, если оно закрыто или прервано. Но какой ВАШ предпочтительный метод для достижения этой цели?

1 Ответ

3 голосов
/ 11 июля 2011

Вы всегда можете использовать встроенный экран настроек для своего приложения, используя также файл Settings.bundle.Это очень просто и позволяет вам использовать экран настроек iPad по умолчанию для настроек приложения, а не настраивать его вручную.

Для передачи информации необходимая информация обычно представляет собой один объектв вашем случае, возможно, Player.m) и поэтому я создаю свойство в следующем представлении, чтобы держать это.И прежде чем показывать вид, я делаю (например):

GameViewController *gameView = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:[NSBundle mainBundle]];
gameView.player     = player;
[self.navigationController pushViewController:gameView animated:YES];
[gameView release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...