Доброго дня!
Воткнулся в проблему, копаюсь уже второй день.
Есть два view controller (назовем их VC1 и VC2). Они связаны между собой переходом (segue) в Xcode (ctrl-drag с VC1 на VC2, выбор метода — push). Хочу подготовить VC2 к отображению:
VC1.m:
(...)<br/>
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender<br/>
{<br/>
if ([segue.identifier isEqualToString:@"mySegue"]) <br/>
{<br/>
VC2 *vc = segue.destinationViewController;<br/>
[vc blahblah:self];<br/>
}<br/>
}<br/>
blahblah — метод VC2 принимающий id в кач-ве параметра. При выполнении кода получаю эксепшн со словами:
«reason: '-[UIViewController blahblah:]: unrecognized selector sent to instance 0x6a73630'»
После долгих танцев с бубном решил заменить код на:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender<br/>
{<br/>
if ([segue.identifier isEqualToString:@"mySegue"]) <br/>
{<br/>
NSLog(@"source VC - %@", segue.sourceViewController);<br/>
NSLog(@"target VC - %@", segue.destinationViewController); <br/>
}<br/>
}<br/>
при выполнении получаю в логе:
source VC - <VC1: 0x6861ed0><br/>
target VC - <UIViewController: 0x6878670><br/>
Т.е. целевой VC не моего типа, поэтому и не вызывается нужный метод.
Во всех примерах которые я вижу в сети, destinationVC устанавливается в тип VC который готовится к показу, поэтому примеров с такой ошибкой найти не смог.
Идеи/предположения/указания на мой косяк? :)
П.С.: пробовал удалять/создавать заново segue в storyboard — результат тот же…