同一个UIViewController的多个实例

时间:2012-06-26 14:08:36

标签: objective-c uiviewcontroller uinavigationcontroller

我有UIViewControllerUINavigationController。我在那里做的是我实例化同一类型的另一个UIViewController,设置一些属性并将其推到堆栈顶部。

这里的问题是父视图控制器也在改变它的属性。

以下是我的表现:

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

为什么会这样?这不是创建视图控制器的新实例并将相同的精确属性复制到不同的对象实例中吗?

1 个答案:

答案 0 :(得分:1)

两个视图控制器现在都有一个指向同一request对象的指针。您所做的任何更改都会反映在两个控制器中。如果控制器能够修改它,您可能需要复制request对象。