Предположим, у нас есть 2 контроллера вида с именем ViewControllerA и ViewControllerB.Как передавать данные между двумя контроллерами представлений в раскадровки?
У меня есть следующий механизм инициализации, когда я не использовал раскадровку.
//ViewControllerA.h
@interface ViewControllerA : UIViewController
@end
//ViewControllerA.m
@implementation ViewControllerA
- (IBAction)showViewControllerB:(id)sender {
ViewControllerB *vcB = [[ViewControllerB alloc] initWithTitle:@"Test"];
[self.navigationController pushViewController:vcB animated:YES];
}
@end
//ViewControllerB.h
@interface ViewControllerB : UIViewController
- (id)initWithTitle:(NSString *)title;
@end
//ViewControllerB.m
@interface ViewControllerB()
@property (nonatomic, retain) NSString *title;//Private scope.
@end
@implementation ViewControllerB
- (id)initWithTitle:(NSString *)title {
self = [self init];
if(self)
{
_title = title;
}
return self;
}
@end
Как достичь этого с помощью раскадровки без объявления свойства title в общедоступной области (ViewControllerB.h)?
Заранее спасибо.
Что вы имеете в виду, когда говорите «** добиваетесь этого с помощью раскадровки **»? – Popeye
@Popeye да, но без объявления свойства title ViewControllerB в файле .h. Он должен быть в .m файле (private scope), как указано в приведенном выше примере. –
Ваш вопрос не совсем понятен. – Popeye