Инструктаж приложения в каком виде открывать при загрузке? - PullRequest
0 голосов
/ 20 марта 2011

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

, поэтому в основном -

- (void) viewWillAppear:(BOOL)animated {

//all my ASIHTTPRequest code here
//blah blah blah

NSString *responseString = [request responseString];

if ([responseString isEqualToString:@"noexistingdata"])
{

FriendsViewController *friendsview = [[FriendsViewController alloc] initWithNibName:nil bundle:nil];

//SOMETHING NEEDS TO GO HERE TO MAKE THIS WORK!

} else if ([responseString isEqualToString:@"success"])
{

//do whatever

}

}

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

Так что в основном мне нужно:

Запустить приложение> Приложение получает ответ от моего сервера> (IF RESPONSE = "THIS", LOADПРОСМОТР «X») (ЕСЛИ ОТВЕТ = «ТО», НАГРУЗКА «Y»)

У кого-нибудь есть подсказка?

PS: было бы лучше перечислить это applicationDidFinishLaunching?

1 Ответ

0 голосов
/ 20 марта 2011

-viewWillAppear: вызывается непосредственно перед отображением представления. Вероятно, это не лучшее время для а) выполнения какого-либо синхронного сетевого запроса и б) загрузки другого контроллера представления.

Я бы предложил, чтобы делегат приложения создал контроллер представления, вид которого просто отображает сообщение, такое как «Подключение к серверу» или «Получение учетных данных пользователя» или что-то еще. Вы можете добавить анимированный вертушку, чтобы пользователь знал, что он должен ждать, если это все, что ему разрешено делать на данный момент. Затем, после отображения представления, например, в методе -viewDidLoad этого контроллера, запустите асинхронное сетевое соединение для связи с сервером. Получив ответ, решите, какой контроллер представления следует создать следующим, и сделайте это.

...