将类变量指针传递给Objective C中的非类方法

时间:2011-10-13 17:17:49

标签: objective-c pointers pass-by-reference class-variables

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

由于

1 个答案:

答案 0 :(得分:1)

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

(希望你没有保留prevMat1。)