Передача указателя на переменную класса в не-классный метод в Objective C - PullRequest
0 голосов
/ 13 октября 2011

У меня есть два класса, которые взаимодействуют друг с другом (процессы в каждом классе зависят от пары объектов из другого класса). В 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

Как это построено в настоящее время, будет ли обновлено self.prevMat1 в Class1 новым значением, назначенным для prevMat2 в Class2? Я боюсь, что это может работать не так, как я намереваюсь, поскольку я посылаю не указатель, а сам объект (я думаю).

Спасибо

1 Ответ

1 голос
/ 13 октября 2011

Если prevMat1 объявлен как Something **, то вы не отправляете объект, когда используете его в качестве parm, вы отправляете адрес указателя.

(Надеюсь, вы не сохраняете prevMat1.)

...