Я новичок в программировании iPhone. Я пытаюсь отправить сообщение от одного контроллера представления другому. Идея состоит в том, что viewControllerA получает информацию от пользователя и отправляет ее в viewControllerB. Затем предполагается, что viewControllerB отображает информацию в метке.
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
[self dismissModalViewControllerAnimated:YES];
}
- (void)dealloc {
[super dealloc];
}
@end
viewControllerB.h
#import <UIKit/UIKit.h>
@interface viewControllerB : UIViewController
{
IBOutlet UILabel *label;
}
- (IBAction)openA;
- (void)display:(NSInteger)myNum;
@end
viewControllerB.m
#import "viewControllerB.h"
#import "viewControllerA.h"
@implementation viewControllerB
- (IBAction)openA {
//presents viewControllerA when a button is pressed
viewControllerA *viewA = [[viewControllerA alloc] init];
[self presentModalViewController:viewA animated:YES];
}
- (void)display:(NSInteger)myNum {
NSLog(@"YES");
[label setText:[NSString stringWithFormat:@"%d", myNum]];
}
@end
ДА успешно зарегистрировано, но текст метки не изменяется. Я убедился, что
все мои соединения в Интерфейсном Разработчике правильны, фактически есть другие (IBAction)
методы в моей программе, которые изменяют текст этой самой метки, и все эти другие методы работают отлично ...
Есть идеи, ребята? Вам не нужно давать мне полное решение, любая информация поможет. Спасибо.