2010-09-17 71 views
1

下面是我用来显示弹出窗口的一些代码。 第一次调用弹出窗口时显示。 第二次调用它失败,并显示“EXE_BAD_ACCESS”错误。 它在行“self.myTextPopOver = pop;”上失败 如果我注释掉[pop release]行,一切正常,但这意味着我正在泄漏内存。iPad popup问题

// Popover Text 
- (IBAction)popoverText 
{ 

// Create a popover object 
setTextPopOver *setTX = [[setTextPopOver alloc] init]; 

// Create a UIPopover controller based on a setTextPopOver object 
UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:setTX]; 

// Set self as the delegate 
setTX.delegate = self; 

// Set the mySelectColorView to PopOver Controller 
self.myTextPopOver = pop; 
[pop release]; 

// Present the Popover 
[self.myTextPopOver presentPopoverFromRect:titleBack.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:true]; 
[self.myTextPopOver setPopoverContentSize:setTX.view.frame.size]; 
[setTX release]; 

} 

回答

0

你能展示完整的调用堆栈吗?

如果在另一个弹出窗口显示时发生这种情况,则应首先调用[popoverController dismissPopoverAnimated:YES];