2011-03-01 4 views
0

J'ai 2 écrans - A et B. A est le parent, l'enfant d'initialisation - B.Comment partager des variables entre les écrans parent et enfant?

Je voudrais écran A passer des données à l'écran B (contact ID pour cette matière). L'utilisation d'une variable globale qui maintiendra l'ID de contact à transmettre semble être un gaspillage, puisque les seuls écrans qui utiliseront ces variables globales sont A et B, et non l'ensemble de l'application. Dans Android, on peut utiliser: myIntent.putExtra ("key", "value");

Comment puis-je y parvenir sur iPhone?

Merci.

Répondre

3

Vous pouvez créer une propriété sur la classe B, par exemple

dans ClassB.h ...

@interface ClassB : UIViewController 
{ 
    NSString *contactID; 
} 

@property (nonatomic, retain) NSString *contactID; 

@end 

ensuite mis

@synthesize contactID 

Dans votre mise en œuvre ClassB.

Maintenant, vous pouvez faire

ClassB *b = [[ClassB alloc] init]; 
b.contactID = @"something"; 
1

Créer propriété dans votre contrôleur de vue B, disons ...

@property (nonatomic,copy) NSString *contactID; 

... et affecter votre numéro de contact avant de présenter contrôleur de vue B dans ce façon ...

viewControllerB.contactID = ...desiredContactID...; 
+0

Tnx. blaaaahhhhhh commentaires damn char counter. – ofirbt

Questions connexes