Avertissement: Tentative de présenter ModalTableViewController sur MainTableViewController qui est déjà la présentation (null)

J'ai un problème avec une liste. Si je tape sur une cellule, je vais charger une liste de sélectionner plus de détails. Tout fonctionne bien, mais lorsque j'appuie sur mon cellulaire à nouveau je reçois à chaque fois le message suivant:

Avertissement: Tentative de présenter ModalTableViewController... sur MainTableViewController... ce qui est déjà présenter (null)

Si je tape sur une autre cellule, je n'obtiendrez pas cet Avertissement. Seulement si une appuyez sur la même ligne de nouveau.

J'ai essayé beaucoup de choses, mais je ne suis pas en mesure de résoudre ce problème. Je charge ma liste avec comme ceci:

var popover: UIPopoverController!
var popoverContent: ModalTableViewController!

et sur mon cellulaire, appuyez sur:

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)

Et de rejeter

func popoverControllerDidDismissPopover(popoverController: UIPopoverController!) {

    popover.dismissPopoverAnimated(false) //just to check

    self.popover = nil
    self.popoverContent = nil

}

Des idées?

Edit:

Si je vérifie avec:

if(self.popoverContent == nil) {

avant de l'ouvrir, je vais trouver que ce n'est pas nul quand j'appuie sur la même cellule.

Modifier à nouveau:

J'ai le même problème si je le créer avec un peu différente de l'installation:

Personnalisé 1x1px Bouton. Se connecter liste avec des enchaînements. Sur la cellule appuyez sur le bouton de coup à la cellule et ouvrir la liste.

Donc il n'y a pas de code pour l'ouverture de la liste, uniquement avec le storyboard de l'éditeur.

Je reçois le même message d'erreur (parfois) juste si je tape la même liste de nouveau.

  • Vous pouvez choisir seulement l'un de l'objective-c et swift balises pour éviter de confondre les gens comme moi. 🙂
  • Je pensais que quelqu'un avec un immense Obj-C Experiance devriez connaître la réponse aussi 😉
  • Juste envelopper la présentation à l'intérieur: NSOperationQueue.mainQueue().addOperationWithBlock { //Your presentation call } est assez pour faire ce travail.
InformationsquelleAutor derdida | 2014-08-08