Ich bin ein Neuling in iPhone Programmierung. Ich versuche, eine Nachricht von einem Ansichtscontroller an einen anderen zu senden. Die Idee ist, dass viewControllerA Informationen vom Benutzer übernimmt und an viewControllerB sendet. viewControllerB soll dann die Information in einem Label anzeigen.Senden von Nachrichten zwischen Klassen 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
YES wird erfolgreich protokolliert, aber der Text des Labels ändert sich nicht. Kann Nachrichten gesendet werden nicht Zugriff Instanz Variablen oder etwas?
Danke.
Wenn Sie Ihre IBOutlets nicht korrekt verbunden haben, werden Sie nichts sehen, egal was Sie im Code tun, also stellen Sie sicher, dass diese korrekt sind. – jakev
überprüfen Sie die Antworten und wenn Ihr Problem gelöst hat, dann akzeptieren Sie eine Antwort. – Ishu