Экземпляр SubZone1iPadController
не существует, когда вы создаете поповер в DetailView
, поэтому вы не можете установить его свойство делегата напрямую из DetailView
.
.добавьте свойство делегата к iPadRootViewController
, которое вы можете установить в методе zoneListButtonController
.Затем, когда ipadrootviewController
создает SubZone1iPadController
, передайте делегата.
Итак, в обоих ipadrootviewController
и SubZone1iPadController
добавьте свойство delegate
:
@property (nonatomic,assign) id <SubZone1Tap> delegate;
Затем в методе zoneListButtonController
установите для свойства делегата значение iPadRootViewController
:
ipadrootviewController = [[iPadRootViewController alloc] init...
ipadrootviewController.delegate = self;
Затем, где ipadrootviewController
создает SubZone1iPadController
:
SubZone1iPadController *sz1 = [[SubZone1iPadController alloc] init...
sz1.delegate = self.delegate;
[self.navigationController pushViewController:...
[sz1 release];
Наконец, в DetailView
убедитесь, что реализован метод делегата.Например:
-(void)SubZone1Tap:(NSString *)name
{
NSLog(@"SubZone1Tap, name = %@", name);
//dismiss the popover if that's what you need to do...
[controladorPopOver dismissPopoverAnimated:YES];
}