reloadData quand dismiss PopOver

Salut a tous,


 


Voila je pense que la chose est simple, j'ai ouvert un menu en utilisant le present as Popover


 


pour fermer celui ci j'ai trouver comment faire jusque la tous va bien


 


j'utilise ça 



dismissViewControllerAnimated(true, completion: nil)

associer a un bouton, dans la UITableViewController j'ai ceci : 



override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.tableView.reloadData()
}

quand je suis sur iPhone sa fonctionne bien, le menu se ferme et la page en dessous s'actualise


 


mais le problème est quand je suis sur iPad (le "popup" est different et de ce format pour moi c'est impeccable) comme dans l'image join


 


mais quand je ferme par contre cela n'actualise pas


 


le viewDidAppear n'est pas du tous appeler (essayer avec un print)


(oui je me doute pour vous sa parait evident mais je suis un GRAND debutant)


 


Donc voila comment puis je faire pour régler le cas sur iPad et si possible garder cet esthétique


 


 


Merci d'avance


 


Loà¯c


 


 


 


Réponses

  • Après avoir chercher encore un peu je suis tomber sur une façon de faire, j'ai donc voulu la partager (on sais jamais hein ^^)


     


     


    Dans ma TableViewController (celle qui est en arrière plan)



    override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(CategorieTableViewController.loadList(_:)),name:"load", object: nil)
    }

    func loadList(notification: NSNotification){
    //load data here
    self.tableView.reloadData()
    }

    et dans le popUp je rajoute cette ligne quand je veut que cela s'exécute



    NSNotificationCenter.defaultCenter().postNotificationName("load", object: nil)

    J'espere que cela aura pu aider les personnes que cela pouvais intéresser


     


    Bonne soirée à  vous 


     


    Loà¯c


  • N'oublie pas de remove le observer dans la méthode dealloc
Connectez-vous ou Inscrivez-vous pour répondre.