2010-08-23 3 views
0

Je veux savoir comment envoyer une chaîne entre deux vues d'un contrôleur de barre d'onglets? Est-ce fait de la même manière qu'avec deux vues simples? J'ai une application avec contrôleur de barre d'onglet avec deux onglets.il y a un champ de texte en première vue.je veux envoyer le texte à la deuxième vueenvoi de chaînes entre deux vues?

Répondre

1

Il ya plusieurs façons de faire cela! Voici deux façons simples:

Demandez-moi si vous avez besoin de plus de détails!

+0

ne peux pas comprendre – pankaj

1

Définissez la chaîne sur un modèle que les deux vues peuvent partager, en tant que singleton ou descendant d'un singleton. On dirait que vous voulez juste transférer des données entre deux vues et bien qu'il soit possible de les lier ensemble, ce serait un style terrible.

MVC, bébé!

1

i faire nouvelle méthode dans la nouvelle vue, d'accéder à la chaîne, donc avant u pousser le newController u devrait acces cette méthode avec la chaîne en tant que paramètre, suivez ceci: dans mon newController j'écris ceci:

@implementation newController 
NSString *stringRef; 
-(void) constructor : (NSString*) stringParameter{ 
stringRef = stringParameter 
} 

et sur le contrôleur de vue avant d'écrire ceci:

#import "newController.h" 
@implementation viewController 
UIViewController *new =[[newController alloc] init]; 
    [new constructor:@"this string is sending to new controller"]; 
    [self.navigationController pushViewController:new animated:YES]; 
    [new release]; 

il devrait être ,, travaux gars ont bien essayé. :)

0

S'il existe un élément commun à deux contrôleurs de vue différents dans le contrôleur de barre d'onglets, vous pouvez inclure cet élément commun en tant qu'objet membre d'un contrôleur de barre d'onglets personnalisé. Lorsque la vue A disparaît, elle peut accéder à l'objet membre de sa vue parente et le mettre à jour, et lorsque la vue B apparaît, elle peut accéder au même objet et se mettre à jour (et vice versa).

Mais d'un autre avis, il semble que vous fassiez quelque chose avec un tabBarController qui devrait être fait avec un contrôleur de navigation. Il n'est pas normal que l'interface utilisateur possède deux vues de barre d'onglets différentes qui partagent les données de cette manière. Les utilisateurs ne s'attendent pas à ce que les modifications apportées à un onglet affectent ce qui est affiché dans un autre onglet. Lorsque les données d'une vue dépendent des données d'une autre vue, il est plus fréquent que la deuxième vue soit transmise à une pile UINavigationController après la première vue. Souvenez-vous qu'il est possible qu'un UINavigationController soit l'un de vos points de vue sur UITabBarController.

Questions connexes