0

ViewA と ViewB があり、次のようなモーダル ビュー コントローラーを使用しているとします。

[ViewA presentModalViewController:ViewB animated:YES]

次に、ViewB を閉じるには、

[self dismissModalViewControllerAnimated:YES] 

呼び出される

質問:

ここでselfとはどういう意味ですか。それは ViewB ですか、それとも ViewA ですか。

そのコードをどこに置くべきですか?ViewAまたはViewBにある必要があります。

4

4 に答える 4

1

ドキュメントには次のように記載されています。

「提示側のView Controllerは、提示されたView Controllerを閉じる責任があります。ただし、提示されたView Controller自体でこのメソッドを呼び出すと、メッセージが提示側のView Controllerに自動的に転送されます。」

したがって、self引用したコードを含むオブジェクトは何であれ、いずれにせよ、メッセージは ViewA によって処理されることになります。

(ドキュメントは、これは非推奨の方法であると記載されていることに注意してください。)

于 2012-05-17T14:09:47.013 に答える
0

ViewB を閉じる必要があります。それはモーダルView Controllerであるため、ViewBのView Controllerにある必要があります。

于 2012-05-17T14:07:03.287 に答える
0

Apple Doc から「提示側のビュー コントローラーは、提示されたビュー コントローラーを閉じる責任があります。ただし、提示されたビュー コントローラー自体でこのメソッドを呼び出すと、メッセージが提示側のビュー コントローラーに自動的に転送されます。」

それは明確だ

于 2012-05-17T14:09:54.407 に答える
0

disconnectModalViewController は、閉じたいモーダル ビュー コントローラーに配置する必要があります。それは自分自身を却下することを担当しています。

とはいえ、モーダル関数を使用するべきではありません。presentViewControllerとdismissViewControllerを使用する必要があります。モーダル関数は非推奨であり、まもなく削除される可能性があります。

于 2012-05-17T15:49:08.013 に答える