2012-08-08 41 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