【发布时间】:2011-12-07 03:46:05
【问题描述】:
我有两个相互通信的类(每个类中的进程依赖于另一个类的几个对象)。在 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 的新值?我担心它可能无法按照我的预期工作,因为我不是发送指针,而是对象本身(我认为)。
谢谢
【问题讨论】:
-
你为什么不使用委托呢?会更有意义。
标签: objective-c pointers pass-by-reference class-variables