次の簡単なView Controllerクラスをセットアップしました
@protocol ThermoFluidsSelectorViewControllerDelegate;
@interface ThermoFluidsSelectorViewController : UIViewController <UITextFieldDelegate>
@property (weak, nonatomic) id <ThermoFluidsSelectorViewControllerDelegate> delegate;
// user hits done button
- (IBAction)done:(id)sender;
@end
@protocol ThermoFluidsSelectorViewControllerDelegate <NSObject>
-(void) didFinishSelection:(ThermoFluidsSelectorViewController *)controller fluidID: (NSString *)fluidID;
@end
「didFinishSeletion: fluidID:」メソッドはマスター ビュー コントローラーで定義されており、呼び出されたときにセレクター ビュー コントローラーを閉じる必要があります。完了ボタンが押されると、次のメソッドが呼び出されます。
- (IBAction)done:(id)sender
{
[[self delegate] didFinishSelection:self fluidID:nil];
}
「done:」メソッドが呼び出されますが (アラートでチェックされます)、「didFinishSelection...」は呼び出されないため、ビューはメイン画面に戻りません。何か案は?