Когда вы говорите «если я вызову его снова из другой функции в контроллере представления, ничего не работает», то первое, что нужно проверить, это то, что вы отправляете testMethod
.Это может быть ноль, и в этом случае ничего не произойдет.В цели C отправка сообщения на nil ничего не делает.Добавьте NSLog, чтобы узнать, например,
NSLog(@"imageMover object is: %@", imageOver);
[imageMover testMethod];
Если NSLog показывает, что это ноль - или что-то сумасшедшее - тогда следите за тем, что вы делаете, с помощью imageMover ivar.
Вы упоминаетеМетод класса в вашем вопросе, но не упоминайте его в своих фрагментах кода.
Если вы определили testMethod
как метод класса, он, конечно, потерпит неудачу, если вы отправите это сообщение экземпляру,(И он будет шумно проваливаться.) Метод класса будет введен следующим образом:
+ (void) testMethod
{
NSLog(@"CMImageMover testMethod called on Class");
}
Метод экземпляра будет представлен следующим образом:
- (void) testMethod
{
NSLog(@"testMethod called on an instance of CMImageMover");
}
Извинения, если это все кричиточевидно для вас и упускает суть вопроса.Из вашего вопроса не совсем понятно, в чем проблема.