我创建了一个存储数据的类(classA)。 classB向它发送数据。会发生什么是classB向classA发送一个对象,然后在classB中删除该对象。我认为我的程序存在的问题是,当从classB中删除对象时,它会从classA中删除,因为我猜只有一个真正的副本'对象。我明白了吗?我该如何解决这个问题?我只能想到在classB中复制对象但是有更好的方法吗?
由于
答案 0 :(得分:0)
在objective-c对象中删除当它的retain count等于0.因此,如果你的classB希望这个传递的对象存在,只需保留它并在不需要它之后释放。如果它是属性,则将属性声明为retain(或强,如果使用arc)。
答案 1 :(得分:0)
最好的方法是将classB中的对象转换为classA中的保留对象(可以使用保留的classA中的属性)。那么你就不会失去从classA传递给classB的对象的范围。