Вызов функции в другом контроллере View - PullRequest
0 голосов
/ 21 марта 2012

В ViewController 1 я вызываю функцию "changeButtonMessage", которая находится во ViewController 2, которая должна изменить текст UILabel.Функция вызывается (NSLog работает), но метка не изменяется.Спасибо за любую помощь.

ViewController 1

loadingViewController *controller;
controller = [[loadingViewController alloc] init];
NSString *mymsg = [NSString stringWithFormat: @"Loading"]; 
[controller changeButtonMessage:mymsg];

ViewController 2

@property (nonatomic, retain) IBOutlet UILabel *loadingtxt;
- (IBAction)changeButtonMessage:(id)sender;

@synthesize loadingtxt;

-(void)changeButtonMessage: (NSString*) newMessage {

     loadingtxt.text = newMessage;
     NSLog(@"Change label to %@",newMessage);

}

1 Ответ

0 голосов
/ 21 марта 2012

Если свойство UIViewController.view еще не было доступно, вы создали объект (alloc, init), но представление фактически не загружено, а его подпредставления не были загружены.

loadingtxt, вероятно, ноль. Вы можете проверить это путем отладки или NSLog его.

Это не будет действительным, пока loadView или viewDidLoad не были вызваны на UIViewController

Как вы создаете свои контроллеры представления? StoryBoard? Nib файлы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...