У меня следующая проблема: я создал приложение iOS 5 SDK со Storyboard, которое содержит TabBar и три ViewControllers.Из другого класса (Receiver.m) я хочу получить доступ к метке пользовательского интерфейса, например, ThirdViewController.m, который является одним из ваших ViewControllers в TabBar.
В ThirdViewController.hi есть
@interface ThirdViewController : UIViewController {
}
@property (weak, nonatomic) IBOutlet UILabel *textlabel1;
@end
и в ThirdViewController.h:
@implementation ThirdViewController
@synthesize textlabel1;
...
Кажется, все в порядке, так как я могу установить свойства метки из экземпляра ThirdViewController.Теперь, чтобы получить доступ из Receiver.m я использую:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
ThirdViewController *myVC = [storyboard instantiateViewControllerWithIdentifier:@"ThirdViewController"];
myVC.textlabel1.text = @"Hello";
Это не работает.Я не хочу создавать новый экземпляр ThirdViewController, но получить доступ к существующему, чтобы обновить только UILabel.Моя раскадровка в Навигаторе проекта по умолчанию называется MainStoryboard.storyboard.Я делаю что-то не так с получением экземпляра классов ThirdViewController?
Ошибка говорит:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'Storyboard (<UIStoryboard: 0x190590>) doesn't contain a view controller with
identifier 'ThirdViewController''
Спасибо!