[英]UIImagePickerControllerSourceTypeCamera crashes in IPHONE Simulator?
[英]NSUserDefaults crashes consistently in iPhone Simulator
在我開始之前,我將自由地承認這是我的代碼中的某些內容,但是並不清楚原因是什么。
我在NSUserDefaults中存儲一個布爾值和四個NSDate對象。 我有一個視圖,它將信息加載到控件中:布爾值加載到開關中,並且4個日期值作為4個按鈕上的標簽加載為格式化值。 如果用戶單擊按鈕,我將切換到帶有UIDatePicker的新視圖,該視圖已基於單擊的按鈕從NSUserDefaults中預加載了完整日期。 第二個視圖有兩個按鈕:取消和設置。 如果選擇取消,我們將切換回第一個視圖。 如果選擇設置,則將UIDatePicker中的值存儲在NSUserDefaults中,則更新所選按鈕的標簽,然后切換回第一個視圖。
我可以通過單擊一個按鈕,然后連續單擊取消三次,然后單擊第四次單擊來使應用程序持續崩潰。 從NSUserDefaults中檢索值時,它在objc_msgSend中崩潰。
這是其中涉及的三個功能。
- (IBAction) buttonPressed:(id)sender {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *buttonDate;
switch ([sender tag]) {
case 1000:
pressedString = kStartTime1Key;
pressedButton = start1;
break;
case 1001:
pressedString = kEndTime1Key;
pressedButton = end1;
break;
case 1002:
pressedString = kStartTime2Key;
pressedButton = start2;
break;
case 1003:
pressedString = kEndTime2Key;
pressedButton = end2;
break;
default:
break;
}
buttonDate = [defaults objectForKey:pressedString];
if (buttonDate == nil) buttonDate = [NSDate date];
[datePicker setDate:buttonDate animated:NO];
[buttonDate release];
self.view = datePickerView;
}
- (IBAction) savePressed {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *selected = [datePicker date];
[defaults setObject:selected forKey:pressedString];
[pressedButton setTitle:[self parseDate:selected] forState:UIControlStateNormal];
self.view = settingsView;
}
- (IBAction) cancelPressed {
self.view = settingsView;
}
作為iPhone和Obj-C的新手,我敢肯定還有更好的做事方法,我願意接受建議。
[buttonDate發布];
您無法釋放未分配或保留的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.