iOS 5属性变量似乎在同一个viewcontroller的实例之间共享

时间:2012-01-24 20:29:57

标签: memory ios5 instance automatic-ref-counting

我有一个ViewController,我在导航控制器中相继实例化了几次。我有一组属性变量,我传递给每个实例。 现在发生的是当我在导航控制器中返回到前一个实例时,属性变量仍然具有来自较新实例的值。似乎这些变量在实例之间共享...... 我在.h文件中声明我的变量如下

@interface MyViewController : UITableViewController{
    NSMutableArray *items;
} 
@property (nonatomic, strong) NSMutableArray *items;

当我移动到新实例时,我使用以下代码来实例化并传递变量:

MyViewController *newInstance = [[MyViewController alloc] init];
newInstance.items = self.items;
[self.navigationController pushViewController:newInstance animated:YES]

当前进这个工作时,我可以通过选择添加项目。但是当我回到之前的实例并添加一个不同的项目时,这个新项目会添加到我之前添加的那个项目中。我想要的是旧实例拥有此变量的旧版本。 我在传递变量时尝试了一些比如使用copy方法:

newInstance.items = [self.items copy];

并以不同的方式宣布它。使用弱和副本而不是强。 我还尝试创建局部变量并使用这些数据加载它们,但没有任何对我有用。有谁知道我怎么能达到我的目的?

0 个答案:

没有答案