FirstVC画面内から別の画面を開いて、もう一度閉じることができるようにする通常の方法は、次のようになります。
SecondVC *secondVC = [[SecondVC alloc] initWithNibName:@"SecondVC" bundle:nil];
secondVC.delegate = self; //needed to dismiss
[self presentModalViewController: secondVC animated: YES];
一方、SecondVC.m
SecondVCを閉じるために呼び出されたメソッドを宣言するプロトコルをインポートする必要があります
SecondVCProtocol.h
したがって、基本的に次のようなプロトコルファイルを常に作成する必要があります。
@protocol SecondVCProtocol <NSObject>
-(void)secondVCDidFinish;
@end
次に、このファイルSecondVC.m
をインポートする必要があり、最終的に呼び出すことができますSecondVCProtocol.h
[self.delegate secondVCDidFinish]
私はちょうど別のAndroidアプリを完成させ、iOSの世界に戻ってきましたが、これはかなり面倒だと思います。-別のファイルでそのようなプロトコルを定義する必要があり、デリゲートを使用する必要があります-すべて、画面を閉じるなどの最も通常のタスクを実行するためだけに...
より簡単で複雑でない方法はありませんか、それともこれはまさにそれが行われなければならない方法ですか?
たとえば[self dismiss]
、SecondVCのように(デリゲートもプロトコルもありません)、彼は本当に素晴らしいと思いませんか?
どうもありがとう!