Принятый ответ не лучший способ сделать это, потому что он создает ненужную зависимость времени компиляции между двумя контроллерами представлений. Вот как вы можете это сделать, не заботясь о типе контроллера вида назначения:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.destinationViewController respondsToSelector:@selector(setMyData:)]) {
[segue.destinationViewController performSelector:@selector(setMyData:)
withObject:myData];
}
}
. До тех пор, пока контроллер вашего целевого представления объявит общедоступное свойство, например:
@property (nonatomic, strong) MyData *myData;
вы можете установить это свойство в предыдущем контроллере представления, как описано выше.