如何在目标c中的对象之间传递对象,然后确保它们不会全部被删除?

时间:2012-06-22 08:53:27

标签: objective-c class object memory-management

  

可能重复:
  How to send an NSString to another view controller

我创建了一个存储数据的类(classA)。 classB向它发送数据。会发生什么是classB向classA发送一个对象,然后在classB中删除该对象。我认为我的程序存在的问题是,当从classB中删除对象时,它会从classA中删除,因为我猜只有一个真正的副本'对象。我明白了吗?我该如何解决这个问题?我只能想到在classB中复制对象但是有更好的方法吗?

由于

2 个答案:

答案 0 :(得分:0)

在objective-c对象中删除当它的retain count等于0.因此,如果你的classB希望这个传递的对象存在,只需保留它并在不需要它之后释放。如果它是属性,则将属性声明为retain(或强,如果使用arc)。

答案 1 :(得分:0)

最好的方法是将classB中的对象转换为classA中的保留对象(可以使用保留的classA中的属性)。那么你就不会失去从classA传递给classB的对象的范围。