次の簡単な手順で、これを行うことができます。
最初の Modal ViewController では、次のような関数を宣言できます。
- (void) setUpdatedValueWithValue: (NSString *) newValue
{
self.objTextField.text = newValue;
}
この関数をヘッダー ファイルでも宣言して、他のクラスからアクセスできるようにします。
2番目のモーダルViewControllerで
SecondViewController.h
@interface SecondViewController : UIViewController
{
id objFirstViewController;
}
@property (nonatomic, retain) id objFirstViewController;
@end
SecondViewController.m
@implementation SecondViewController
@synthesize objFirstViewController;
@end
好きな対象をSecondViewController
渡す前に、FirstViewController
SecondViewController
- (void) presentSecondViewController
{
SecondViewController *objSecondViewController = [[SecondViewController alloc] init];
objSecondViewController.objFirstViewController = self;
[self presentModalViewController: objSecondViewController animated: YES];
[objSecondViewController release];
objSecondViewController = nil;
}
次に、値の編集後に閉じるために呼び出している関数で、次のSecondViewController
ように実行できます。
- (void) finishEdit
{
if([objFirstViewController respondsToSelector: @selector(setUpdatedValueWithValue:)])
{
[objFirstViewController performSelector: @selector(setUpdatedValueWithValue:) withObject: editedTextView.text];
}
[self dismissModalViewControllerAnimated: YES];
}
お役に立てれば。