objective-c - saut de page du storyboard et transfert de valeur
PHP中文网
PHP中文网 2017-05-02 09:29:33
0
1
827

J'ai vérifié certains articles en ligne et trouvé quelques méthodes pour sauter de page de storyboard et transférer des valeurs. Certaines sont utiles et d'autres ne le sont pas. Ici, elles sont résumées comme suit (la page A passe à la page B),
. Méthode de saut :
1 Il y a en A. bouton et autres commandes, maintenez directement la touche de contrôle enfoncée et faites glisser vers B, cliquez sur le bouton pour sauter
2. Maintenez la touche de contrôle enfoncée pour connecter directement A et B, sélectionnez la connexion et ajoutez un identifiant (nommez-le c ). Créez une action pour le bouton en A, et implémentez la méthode [self performSegueWithIdentifier:@"c" sender:nil]; dans l'action pour réaliser le saut

Méthode de transmission de valeur :
1. Implémentée dans prepareForSegue, basée sur l'identifiant de connexion. La valeur est transmise avec succès
2. Implémentez-la dans l'action, recherchez la page pour parcourir l'identifiant du storyboard, réalisez le saut et transmettez la valeur UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ReceiveViewController *B = [storyboard instantiateViewControllerWithIdentifier:@"IdReceive"];
B.name = @"GC";
B.age = 10;
[self.navigationController pushViewController:recevoir animé:OUI];

Cette méthode n'a pas réussi à transmettre la valeur et la page n'a pas pu sauter, car A est un viewcontroller et non un navigationController, j'ai donc changé la dernière phrase en [self performSegueWithIdentifier:@"c" sender:nil]; était OK, mais le transfert de valeur a échoué.

Je voudrais demander à tous les experts, comment sauter et transférer de la valeur via l'identification du storyboard ? Merci!

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(1)
Ty80
  1. Avez-vous mis A dans le contrôleur de navigation. Alors il n'est pas nécessaire de changer la dernière phrase

  2. S'il n'est pas dans navgationviewcontroller, cela dépend de la façon dont vous souhaitez afficher votre B. Par exemple, s'il est présent, vous pouvez [self presentViewController:B animé:OUI complétion:nil]

  3. Si vous souhaitez utiliser [self performSegueWithIdentifier:@"c" sender:nil]; de cette façon, vous n'avez pas besoin d'obtenir le contrôleur de vue B dans l'action. Le code est modifié comme suit

    .
- (void)someButtonClicked:(id)sender {
  [self performSegueWithIdentifier:@"c" sender:nil]
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(nullable id)sender {
 if([segue.identifier isEqualToString:@"c"]){
    ReceiveViewController *B = segue.destinationViewController;
    B.name = @"GC"; 
    B.age = 10; 
    }
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal