如何传递对象以及相关的开销是多少?

时间:2011-09-21 02:51:29

标签: objective-c cocos2d-iphone objective-c++

我有一个关于obj-c编码的基本问题,比方说我有两个由变量表示的类:

ClassA *classA; 
ClassB *classB;

如果我想从ClassB访问ClassA,我可以将classB中的对象作为参数传递到任何ClassA方法中并相应地使用它。

此事务的开销是多少,并且较大的已分配内存对象对较小的已分配对象的开销较高?或者事务只是一个简单的4byte指针? (如何传递对象?)

另一个问题,如果我想在使用ClassB *classB的传递参数对象初始化之后在标题中保留classB。这比不断地将参数传递给我的每个方法都要便宜吗?

谢谢,
奥利弗。

1 个答案:

答案 0 :(得分:0)

如果你传递了指针,那么传递int传递指针的成本并不高。在对象中存储值也是一样的 - 与存储int相比没有真正的区别(忽略你可能做的任何保留)。

当然,当你将指针存储到另一个对象中时,你通常应该retain它,但那是一个完整的讨论。