0

我有两个相互通信的类(每个类中的进程依赖于另一个类的几个对象)。在 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 的新值进行更新?我担心它可能不会按照我想要的方式工作,因为我不是发送指针,而是对象本身(我认为)。

谢谢

4

1 回答 1

1

如果 prevMat1 被声明为 Something**,那么当您将其用作参数时,您不会发送对象,而是发送指针的地址。

(希望你没有保留 prevMat1。)

于 2011-10-13T17:24:06.367 回答