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 ではこの時点でプログラムがクラッシュします。