0

UIViewControllerルートである がありUINavigationControllerます。私がそこで行っているUIViewControllerのは、同じタイプの別のものをインスタンス化し、いくつかのプロパティを設定してスタックの一番上にプッシュすることです。

ここでの問題は、親ビュー コントローラーもそのプロパティを変更していることです。

これが私がやっている方法です:

RootViewController *rootViewController = [[RootViewController alloc] initWithRequest:request];
[self.navigationController pushViewController:rootViewController animated:YES];

なぜこうなった?これは、View Controller の新しいインスタンスを作成し、まったく同じプロパティを別のオブジェクト インスタンスにコピーしていませんか?

4

1 に答える 1

1

両方のビュー コントローラーが同じrequestオブジェクトへのポインターを持つようになりました。行った変更は両方のコントローラーに反映されます。requestコントローラーがオブジェクトを変更できる場合は、代わりにオブジェクトをコピーする必要があります。

于 2012-06-26T14:10:48.027 に答える