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

Memory iOS 5属性变量似乎在同一viewcontroller的实例之间共享,memory,ios5,instance,automatic-ref-counting,Memory,Ios5,Instance,Automatic Ref Counting,我有一个ViewController,我在导航控制器中一个接一个地实例化了几次。我有一组传递给每个实例的属性变量。 现在发生的是,当我在导航控制器中返回到以前的实例时,属性变量仍然具有来自较新实例的值。似乎这些变量在实例之间共享。。。 我在.h文件中声明变量,如下所示 @interface MyViewController : UITableViewController{ NSMutableArray *items; } @property (nonatomic, strong) NS

我有一个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];
并以不同的方式声明。使用“弱”和“复制”代替“强”。
我还尝试创建局部变量并用这些数据加载它们,但没有任何效果。有人知道我怎样才能达到我想要的吗?

我解决了我的问题。在上面的例子中,问题是在我将对象发送到下一个实例之前,我更新了它。因此,当我返回到它时,变量处于更新状态。我现在做的是,当视图加载时,我将原始值存储在一个单独的变量中。然后每次添加项目时都使用该变量。“共享”效应也发生在我身上,但通过正确地将变量声明为.h文件中的实例变量而不是.m文件中的类变量,解决了这一问题。然后,也许你应该将你的解决方案作为答案发布,以便将此问题标记为已解决。我无法发布任何答案,我被阻止(但不确定原因)。