Контроллер UIActionSheet аварийно завершил работу на iPad и отлично работает на iPhone

Я пытался использовать UIActionSheet в своем приложении. Идея состоит в том, что если вы вышли из приложения в определенном состоянии, оно появится при запуске и спросит вас, хотите ли вы продолжить или сбросить настройки. Вот код:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

continueYesNo = [prefs boolForKey:@"keyContinueMeeting"]; 

if (continueYesNo) {
  NSString *message_continue = [[NSString alloc] initWithFormat:@"Do you want to Continue the Prior Meeting"];
  UIActionSheet *actionSheet = [[UIActionSheet alloc] 
   initWithTitle:message_continue 
   delegate:self
   cancelButtonTitle:@"Reset" 
   destructiveButtonTitle:@"Continue"
   otherButtonTitles:nil];
  [actionSheet showInView:self.view];
  [actionSheet release];
  [message_continue release];
}

Это в viewDidLoad. И фактическое действие кода:

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
{
 Wasted_TimeAppDelegate  *delegate = [[UIApplication sharedApplication] delegate];
 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

 if (buttonIndex != [actionSheet cancelButtonIndex]) {
  delegate.continueMeeting = YES;
  [prefs setBool:YES forKey:@"keyContinueMeeting"];
         [ [NSUserDefaults standardUserDefaults] synchronize]; 
 } else {
  delegate.continueMeeting = NO;
  [prefs setBool:NO forKey:@"keyContinueMeeting"];
  [ [NSUserDefaults standardUserDefaults] synchronize];  
 }
}

Все это кажется довольно простым, но по какой-то причине на iPhone оно работает без проблем, а на iPad программа в этот момент вылетает.


person Michael Rowe    schedule 14.09.2010    source источник
comment
Используйте кнопку 101010, чтобы отформатировать блоки кода, чтобы они были читабельными.   -  person Shaggy Frog    schedule 14.09.2010
comment
Можно поточнее, где зависает? Кроме того, из какого метода и класса исходит первый блок кода? Второй блок кода?   -  person Shaggy Frog    schedule 14.09.2010
comment
Я запустил отладчик, и я никогда не получаю всплывающее окно UIActionSheet на экране.   -  person Michael Rowe    schedule 14.09.2010
comment
И я получаю следующее в отладчике: Ожидание точки останова 6 - objc_exception_throw разрешено Утверждение не удалось: (cls), функция getName, файл /SourceCache/objc4_Sim/objc4-427.1.1/runtime/objc-runtime-new.m, строка 3939.   -  person Michael Rowe    schedule 14.09.2010
comment
NSUserDefaults *prefs = [NSUserDefaults стандартные UserDefaults]; continueYesNo = [prefs boolForKey:@keyContinueMeeting]; Фактическая строка, на которой происходит сбой, — это пустая строка между двумя приведенными выше строками кода. Не имеет для меня никакого смысла   -  person Michael Rowe    schedule 14.09.2010
comment
Первый блок кода поступает из ViewDidLoad... Второй - это весь блок кода листа действий UIActionSheet...   -  person Michael Rowe    schedule 14.09.2010
comment
Извините, по какой-то причине комментарий не позволяет мне вставлять блоки кода или правильно редактировать с интервалом ... если я нажму Enter, он примет комментарий как есть.   -  person Michael Rowe    schedule 14.09.2010
comment
Кто-нибудь найдет этот? Или может помочь с ответом? Я завершил все обновления своего приложения, но сейчас оно не работает на iPad.   -  person Michael Rowe    schedule 19.09.2010


Ответы (1)


Хорошо, этот получает большой толстый DOH! Я неправильно внедрил iPad XIB, после их переделки все работает как задумано.

person Michael Rowe    schedule 06.11.2010