I have a view controller with a toolbar with 3 UIButtons that open a new view controller as a popover. I created the segues in Storyboard and selected "Present as Popover". The popovers work but when the user taps on another button while a popover is currently open, I get this error:
Warning: Attempt to present <Fingerpainter.OpacityViewController: 0x79095110>  on <Fingerpainter.DrawingViewController: 0x7b278000> which is already presenting <Fingerpainter.BrushSizeViewController: 0x79573770>
Is there a way to like make sure all popovers are closed before opening a new one? Here's my prepareForSegue method in the main ViewController (containing the toolbar):
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let identifier = segue.identifier ?? ""
    let popoverPresentationController = segue.destinationViewController.popoverPresentationController
    popoverPresentationController!.delegate = self
switch identifier {
    case Storyboard.BrushSizeSegueIdentifier:
        if let brushSizeViewController = popoverPresentationController?.presentedViewController as? BrushSizeViewController {
            // set properties in brushSizeViewController
        }
    case Storyboard.OpacitySegueIdentifier:
        if let opacityViewController = popoverPresentationController?.presentedViewController as? OpacityViewController {
            //set properties in opacityViewController
        }
    case Storyboard.ColorSegueIdentity:
        if let colorViewController = popoverPresentationController?.presentedViewController as? ColorViewController {
            //set properties in colorViewController
        }
    default:
        break
    }
}
 
     
    