Я не совсем уверен, что понимаю проблему ... как часть проблемы связана с тем, как вы создаете экземпляр SecondViewController ... размещение этого кода может помочь.
но ответить на ваш вопрос так, как вы его задали .... "как передать FirstViewController в SecondViewController" ...
в вашем SecondViewController.h создайте свой собственный метод инициализации
-(id) initWithFirstViewController:(UIViewController *)theFirstViewController;
и в файле .m ...
-(id) initWithFirstViewController:(UIViewController *)theFirstViewController
{
self = [super initWithNibName:@"myNibName" bundle:nil];
self.firstViewController = theFirstViewController; //this assumes you have created this property. Also, do NOT retain the first view controller or you will get circular reference and will secondviewcontroller will leak.
return self;
}
затем .. и вот ключ .. убедитесь, что вы вызываете правильный метод init для создания экземпляра SecondViewContoller
SecondViewController *svc = [[SecondViewController alloc]initWithFirstViewController:self];
сейчас ... сказав это ... глядя на ваш рейтинг SO, у меня такое чувство, что вы уже знали это ... и реальный вопрос может быть ... почему вызывается initWithNibName, когда вы на самом деле не вызываете его явно