0

私はループ if else ステートメントを実行し、それに応じてモーダル ビュー コントローラーを提示することで、同じレコードを 1 つにマージすることに取り組んでいます。基本的に、データが繰り返される場合、ビューが表示され、マージ データが必要かどうかがユーザーに尋ねられます。

ユーザーの選択に関係なく、アプリはコントローラーを閉じて次のコントローラーをチェックし、再度提示する必要があります。

ストーリーボードを使用して id でセグエを実行し、セグエの準備をしていますが、うまくいきません...

ストーリーボードでこれを行う方法を提案またはヒントを持っている人はいますか?

4

1 に答える 1

1

performSegue:withIdentifierループでモーダル セグエを実行する際の問題は、呼び出し時にコードがブロックされないことです。メインのviewControllerは、prepareForSeque呼び出し後に制御を失います。

呼び出し元の viewController に制御を戻すにdelegateは、宛先のビュー コントローラーにポインターを設定し、このデリゲート ポインターをselfin に設定する必要がありますprepareForSegue。また、modalViewControllerDidFinishメインの viewController でメソッドを定義します。

モーダル viewController で、呼び出し[delegate modalViewControllerDidFinish]てコントロールをメインの viewController に戻します。

メイン ビュー コントローラーのプロパティに状態を保存することで、処理中の場所を追跡します。modalViewControllerDidFinishで、他にやるべきことがある場合に作業を継続するメソッドを呼び出します。

于 2012-10-20T22:21:34.220 に答える