45 votes

Rechargement d'un ViewController

J'ai un contrôleur de vues qui affiche des informations (pas de vues de tables).

J'ai un appel de mise à jour vers un serveur distant qui remplit ma base de données. Je voudrais recharger complètement mon ViewController une fois l'appel de mise à jour effectué.

Que dois-je faire ?

2voto

Shubhank Points 11083

Mettre à jour les données ... changer les titres des boutons ... tout ce que vous avez à mettre à jour ...

alors il suffit d'appeler

[self.view setNeedsDisplay];

1voto

Vincent Points 717

Il est déconseillé d'appeler ViewDidLoad ou ViewWillAppear par vous-même.

Dans le ViewDidLoad, incluez une fonction loadData() pour préparer les données. Cette fonction est exécutée lors de l'exécution initiale.

Lorsque vous voulez recharger, appelez à nouveau loadData() pour obtenir les données du modèle. Dans une tableView, appelez reloadData() ou dans une vue normale, setNeedsDisplay().

0voto

MuhammadAamirALi Points 2555

Réinitialiser le contrôleur de vue

YourViewController *vc = [[YourViewController alloc] initWithNibName:@"YourViewControllerIpad" bundle:nil];
[self.navigationController vc animated:NO];

0voto

Shashi Tiwari Points 37

Pour UIViewController il suffit de charger à nouveau votre vue -

func rightButtonAction() {
        if isEditProfile {
           print("Submit Clicked, Call Update profile API")
            isEditProfile = false
            self.viewWillAppear(true)
        } else {
            print("Edit Clicked, Call Edit profile API")
            isEditProfile = true
            self.viewWillAppear(true)
        }
    }

Je charge mon contrôleur de vue sur l'édition du profil et la vue du profil. Selon la valeur Bool isEditProfile la mise à jour de la vue dans viewWillAppear méthode.

-6voto

plop Points 11

Vous devez utiliser

-(void)viewWillAppear:(BOOL)animated

et définir vos entrées comme vous le souhaitez...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X