Вы хотите использовать делегат .
Итак, чтобы сделать то, что вы хотите, сделайте что-то вроде этого (я не знаю ваших реальных имен классов, поэтому я предполагаю):
В вашем AlertScreenViewController.h файле добавьте этот код:
@protocol AlertScreenViewControllerDelegate;
@interface AlertScreenViewController : UIViewController {
...
id<AlertScreenViewControllerDelegate> delegate;
...
}
...
@property (assign) id<AlertScreenViewControllerDelegate> delegate;
...
@end
@protocol AlertScreenViewControllerDelegate <NSObject>
- (void)alertScreenViewControllerWillClose;
@end
Затем в вашем AlertScreenViewController.m файле:
добавить это:
@implementation AlertScreenViewController
...
@synthesize delegate;
...
@end
добавьте этот код везде, где нажата ваша кнопка:
[self.delegate alertScreenViewControllerWillClose];
В вашем MainViewController.h файле добавьте это:
#import "AlertScreenViewController.h"
@interface MainViewController : UIViewController <AlertScreenViewControllerDelegate> {
...
}
...
@end
В вашем MainViewController.m файле добавьте это:
Куда бы вы ни загрузили AlertScreenViewController, добавьте это после вызова init:
alertscreenviewcontroller.delegate = self;
Затем переместите весь код после отображения кода контроллера alertscreenview к этому методу:
- (void) alertScreenViewControllerWillClose {
//UIAlert logic here
}
Вы можете найти другой пример здесь: http://www.dosomethinghere.com/2009/07/18/setting-up-a-delegate-in-the-iphone-sdk/
Или просто Google Iphone SDK делегат