わかりました..その非常に単純な..デリゲートを使用する必要があります...私が正しく理解していれば、あなたはセカンダリビューにいて、メインビューに戻ったときに、2番目のビューからメインビューにデータを送り返したいと考えています、 右?
したがって、2 番目のビューの .h ファイルで、インターフェイスの上に次のようにデリゲートを宣言します。
@class nameOfTheViewController;
@protocol nameOfTheViewControllerDelegate <NSObject>
-(void)methodNameOfDelegateReturning:(NSString *)string otherString:(NSString *)string2;
@end
そして、あなたのインターフェースでは、まだ.hで、このデリゲートの参照を次のように作成します:
@property(nonatomic, weak) id <nameOfTheViewControllerDelegate> delegate;
その後、 nameOfTheViewController の .m で次のようにします。
@synthesize delegate = _delegate;
nameOfTheViewController ファイルでデリゲートを作成した後、前のビューに戻りたい正確な場所とタイミングで作成したデリゲート メソッドを呼び出し、戻したいパラメーターを入力します...そしてもちろん、 mainViewController の didPrepareForSegue メソッドで、nameOfTheViewController クラスのインスタンスを作成し、そのデリゲート プロパティを self に設定します。これを可能にするには、mainViewController .h で nameOfTheViewControllerDelegate プロトコルに準拠する必要があります。