我有两个相互通信的类(每个类中的进程依赖于另一个类中的几个对象)。在Class1中,我在接口中声明了一个CvMat对象prevMat1:
@interface Class1 {
CvMat** prevMat1;
}
@property CvMat** prevMat1;
@end
现在,我在Class2中有一个类方法,我将prevMat1从Class1传递给。我需要Class2中的方法来更新prevMat1的值,并将新值反映在Class1中。我目前正在调用这种方法:
[Class2 doSomething:self.prevMat1];
在Class2中,我以名称prevMat2处理此对象。这是功能:
@implementation Class2
+ (void) doSomething: (CvMat**) prevMat2 {
//do some stuff
}
@end
当前构建的方式是,Class1中的self.prevMat1是否会更新为Class2中分配给prevMat2的新值?我担心它可能不会像我想要的那样工作,因为我没有发送指针,而是对象本身(我认为)。
由于
答案 0 :(得分:1)
如果将prevMat1声明为Something **,那么当您将对象用作parm时,您不会发送对象,而是发送指针的地址。
(希望你没有保留prevMat1。)