0

親View Controllerにデータを戻すにはどうすればよいですか。addSubView メソッドを使用して子ビューを表示します。

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

ここで、「AddFields」ビューから親コントローラーにデータを送信したいと考えています。どうやってやるの。誰でも私を助けることができます..

4

3 に答える 3

6

簡単な方法の 1 つは、NSNotificationCenterを使用することです。この例を参照してください。

オブジェクトを送信するときに、AddFields から通知を投稿します

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

そして、親View Controllerに 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は一致する必要があります

Delegate Protocolメソッドを使用できる他の方法...この例を参照してください

于 2012-09-21T05:29:28.230 に答える
3

子ビューから親ビューへのデータの逆方向の受け渡しには、Delegateを使用します。

于 2012-09-21T04:57:25.937 に答える
0

最も一般的な方法は次のとおりです。まず、親コントローラーで (必要に応じて) string/int/float/.. を初期化します。例えば:NString *string;

次に、AddFields ビューで親コントローラーをインポートし、親コントローラー ビューのオブジェクトを作成します。

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

            object.string=theValueYouWantToPass;
于 2012-09-21T07:01:23.523 に答える