得到以下錯誤:爲什麼我仍然得到 - [UIPopoverController的dealloc]達到,而酥料餅仍然可見
-[UIPopoverController dealloc] reached while popover is still visible.
這是導致該問題的代碼:
-(void) showModalTime:(int)tag {
UIViewController* popoverContent = [[UIViewController alloc] init];
UIView *popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 216)];
popoverView.backgroundColor = [UIColor redColor];
popoverContent.contentSizeForViewInPopover = CGSizeMake(200.0, 216.0);
// smaller for timePicker
timePicker=[[UIDatePicker alloc]init];
timePicker.frame = CGRectMake(0, 0, 200, 216);
timePicker.backgroundColor = UIColorFromRGB(0xeedd82);
timePicker.datePickerMode = UIDatePickerModeTime;
[timePicker setMinuteInterval:15];
[timePicker addTarget:self action:@selector(dateDidChange:) forControlEvents:UIControlEventValueChanged];
[popoverView addSubview:timePicker];
popoverContent.view = popoverView;
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
popoverController.delegate = (id)self; // <-- this is the line that's causing the crash
[popoverController setPopoverContentSize:CGSizeMake(200, 216) animated:NO];
switch (tag) { // displays the popover datepicker
case 11: // store open time
[timePicker setTag:11];
[popoverController presentPopoverFromRect:tfShopOpens.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
break;
case 12: // store close time
[timePicker setTag:12];
[popoverController presentPopoverFromRect:tfShopCloses.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
break;
}
}
PopoverController被定義爲一個實例變量:
@property (nonatomic, strong) UIPopoverController *popoverController;
我已經標記了導致崩潰的行;我把所有的PopoverController都改成了實例變量,問題似乎已經解決了,但是現在卻讓它變得醜陋。我還能做什麼來防止這種情況發生?
我加了它;無法重新創建崩潰,但它看起來像你釘住了這個問題。謝謝。 – SpokaneDude