Question: I have a problem with a popover. If I tap on a cell I will load a popover to select more details. Everything works fine, but when I press my cell again I receive every time the following message:

Warning: Attempt to present ModalTableViewController... on MainTableViewController... which is already presenting (null)

If I tap on another cell I will not get this Warning. Only if a tap the same row again.

I tried lots of things but I am not able to solve this problem. I load my popover with like this:

```
var popover: UIPopoverController!
var popoverContent: ModalTableViewController!

```

and on my cell tap:

```
popoverContent = self.storyboard.instantiateViewControllerWithIdentifier("ModalTableViewController") as ModalTableViewController

popoverContent.selectedQuestionID = indexPath!.row               
popover = UIPopoverController(contentViewController: popoverContent)
popover.delegate = self

popover.presentPopoverFromRect(currentCell.LabelCellTitle.frame, inView: currentCell.LabelCellTitle.superview, permittedArrowDirections: UIPopoverArrowDirection.Left, animated: true)

```

And to dismiss

```
func popoverControllerDidDismissPopover(popoverController: UIPopoverController!) {

    popover.dismissPopoverAnimated(false) // just to check

    self.popover = nil
    self.popoverContent = nil

}

```

Any ideas?

Edit:

If I check with:

```
if(self.popoverContent == nil) {

```

before opening it, I'll find out that it's not nil when I tap the same cell again. 

Edit again:

I have the same problem if I create it with a little different setup:

Custom 1x1px Button. Connect popover with segue. On cell tap move button to cell and open popover.

So there is no code for opening the popover, only with storyboard editor.

I get the same error message (sometimes) just if I tap the same popover again.

Answer: 
I'm not on swift yet, but for Objective-C, I ended up wrapping the presentViewController call in a performSelector call.

```
-(void) present
{
    [self performSelector: @selector(ShowModalTableViewController) withObject: nil afterDelay: 0];
}

-(void) ShowModalTableViewController
{
    [self presentViewController: ctrlModalTableViewController animated: true completion: nil];
}

```
It appears this is true of presenting anything over a popover. The reason all of the previous responses work is likely because whatever action is being taken happens before the popover (or activity sheet, or similar) is dismissed.

If you can, try dismissing the popover first, then presenting your modal.