2012-08-08 45 views
0

我有一个UIView,它提供了一个Popover中的tableView。这个tableView然后呈现另一个带有可选数据的tableView。有人可以向我解释一下如何唤起代表团将选定的数据返回到UIView?我初始化第二个tableView,并在呈现popover时将其设置为'self'。但是当我真的在第二个tableView中使用委托时,它被设置为null。从'孙子'视图的代表团

回答

0

这将是这样的:

TopMostView.h在TopMostView.m

@protocol ParentViewDelegate 
-(void) operateOnData:(NSObject *)data; 
@end 

@interface TopMostSubview <ParentViewDelegate> 
... 

-(void)crateSubview { 
... create subview stuff 
subview.delegate = self; 
... 

}

然后在每个子视图有类似:

@property (weak, nonatomic) id<ParentViewDelegate> delegate; 

无论何时您希望将数据传递给超级视图,都可以使用operateonData:selector。

+0

感谢@BigYellowCactus,但它仍然无法正常工作。这里是我的TopMostView.m中的代码(IBAction)按钮:(UIBarButtonItem *)sender if(!self.popover){picker * picker = [self.storyboard instantiateViewControllerWithIdentifier:@“Picker”]; self.popover = [[UIPopoverController alloc] initWithContentViewController:picker]; picker.delegate = self; // init popover } }'当我在picker中打印委托时,它被设置为null。 – 2012-08-09 22:56:00