Это похоже на белого слона для iPhone. Я пробовал все виды, даже петли, и я не могу заставить его работать.
У меня есть представление, которое загружает таблицу. Однако я перешел к архивированию объектов, и для целей разработки я хочу иметь начальный AlertView, который спрашивает, хочет ли пользователь использовать сохраненную базу данных или загрузить свежую копию
(void)showDBAlert {
UIActionSheet *alertDialogOpen;
alertDialogOpen = [[UIActionSheet alloc] initWithTitle:@"DownloadDB?"
delegate:self
cancelButtonTitle:@"Use Saved"
destructiveButtonTitle:@"Download DB"
otherButtonTitles:nil];
[alertDialogOpen showInView:self.view];
}
Я использую ActionSheet в этом случае. И я реализовал протокол:
@interface ClubTableViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource, UIActionSheetDelegate>
На основании этого я запускаю это, чтобы проверить, какая кнопка была нажата:
(void)actionSheet:(UIActionSheet *) actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
NSString *buttonTitle=[actionSheet buttonTitleAtIndex:buttonIndex];
if ( [buttonTitle isEqualToString:@"Download DB"] ) {
[self loadDataFromDB];
}
if ([buttonTitle isEqualToString:@"Use Saved"] ) {
self.rows = [NSKeyedUnarchiver unarchiveObjectWithFile:[self archivePath]];
if (self.rows == nil) {
[self loadDataFromDB];
}
}
}
Проблема в том, что мой код для построения таблицы выполняется до того, как пользователь сделал там выбор. Это вызывает все виды havok. В результате, как я могу приостановить код, пока пользователь не сделал там выбор?