簡體   English   中英

我如何將數據傳遞回父視圖控制器。 正在使用addSubView方法顯示子視圖

[英]How can i pass data back to parent view controller. am using addSubView method to show child view

我如何將數據傳遞回父視圖控制器。 即時通訊使用addSubView方法顯示子視圖。

addFields = [[AddFields alloc] initWithNibName:@"AddFields" bundle:nil];
[self.view addSubview:addFields.view];

現在,我想將數據從“ AddFields”視圖發送到我的父控制器。 我怎樣才能做到這一點。 誰能幫我..

一種簡單的方法是使用NSNotificationCenter參見此示例

當您要發送對象時,通過AddFields通知您

[[NSNotificationCenter defaultCenter] postNotificationName:@"notificaiton_name" object:object_you_want_to_send];

並在您的父視圖控制器中添加NSNotificationCenter的觀察者

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(method_you_want_to_call:) name:@"notificaiton_name" object:nil];

定義您的method_you_want_to_call:類似這樣的內容

-(void) method_you_want_to_call:(NSNotification *) obj{
     //lets say you are sending string as object
     NSString *string=(NSString *) [obj object] ;
}

注意: notificaiton_name必須匹配

您可以使用代理協議方法的其他方式...請參見此示例

使用委托在子視圖到父視圖之間向后傳遞數據。

最常見的方法如下:首先在父控制器中初始化一個string / int / float / ..(根據您的需要)。 例如: NString *string;

然后在AddFields視圖中,導入父控制器,然后創建父控制器視圖的對象。

ParentViewController *object=[[ParentViewController alloc]initWithNibName:@"ParentViewController" bundle:nil];

            object.string=theValueYouWantToPass;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM