Je suis un débutant dans la programmation iPhone. J'essaye d'envoyer un message d'un contrôleur de vue à un autre. L'idée est que viewControllerA prend des informations de l'utilisateur et l'envoie à viewControllerB. viewControllerB est alors censé afficher les informations dans une étiquette.Envoi de messages entre classes Obj-C?
viewControllerA.h
#import <UIKit/UIKit.h>
@interface viewControllerA : UIViewController
{
int num;
}
-(IBAction)do;
@end
viewControllerA.m
#import "viewControllerA.h"
#import "viewControllerB.h"
@implementation viewControllerA
- (IBAction)do {
//initializing int for example
num = 2;
viewControllerB *viewB = [[viewControllerB alloc] init];
[viewB display:num];
[viewB release];
//viewA is presented as a ModalViewController, so it dismisses itself to return to the
//original view, i know it is not efficient but it is not the problem with my code
[self dismissModalViewControllerAnimated:YES];
}
- (void)dealloc {
[super dealloc];
}
@end
viewControllerB.h
#import <UIKit/UIKit.h>
@interface viewControllerB : UIViewController
{
IBOutlet UILabel *label;
}
- (void)display:(int)myNum;
@end
viewControllerB.m
#import "viewControllerB.h"
#import "viewControllerA.h"
@implementation viewControllerB
- (void)display:(int)myNum {
NSLog(@"YES");
[label setText:[NSString stringWithFormat:@"%d", myNum]];
}
@end
OUI est enregistré avec succès, mais le texte de l'étiquette ne change pas. Peut-on envoyer des messages non des variables d'instance d'accès ou quelque chose?
Merci.
Si vos IBOutlets ne sont pas connectés correctement, vous ne verrez rien, peu importe ce que vous faites dans le code, alors assurez-vous d'abord qu'ils sont corrects. – jakev
Cochez les réponses et si votre problème est résolu, acceptez une réponse. – Ishu