Я думаю, что есть что-то очень важно, что в настоящее время забывают здесь другие плакаты: сохранить циклы. Любой дочерний метод, который пытается ссылаться на его родительский объект, должен сделать это со слабой ссылкой или модификатором __unsafe_unredtained.Если вы этого не сделаете, вы рискуете, что родительский объект пойман в цикле удержания. Если я понимаю вопрос, вы просто хотите вызвать метод в объекте класса «А», когда определенный метод заканчивается в объекте класса «В»? Обычно я делаю это одним из двух способов: делегатами и протоколами (более сложная концепция) или NSNotificationCenter (менее сложная концепция). В вашем случае, поскольку вы просто пытаетесь «уведомлять» об одном методе, когда заканчивается другой метод в другом классе, центр уведомлений кажется, что его гораздо проще использовать. Существует довольно хороший учебник здесь: http://blog.isotoma.com/2009/11/on-objective-c-delegates-and-nsnotification-objects/, но вот основная предпосылка:
В методе делает работу (в классе В) в конце метода вставить что-то вроде этого:
NSNotification* notification = [NSNotification notificationWithName:@"MyNotification" object:self];
[[NSNotificationCenter defaultCenter] postNotification:notification];
Тогда в классе метод инициализации вы бы зарегистрироваться для получения этого уведомления:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MethodToCallAfterNotification:) name:@"MyNotification" object:nil];
Всякий раз, когда метод класса B заканчивается, он будет транслировать уведомления «MyNotification». Ваш объект класса А прослушивает эти уведомления, поэтому он будет автоматически вызывать какой бы селектор вы назначили, когда это уведомление транслируется в вашем приложении.
Просто убедитесь, что создать метод dealloc в классе Файл реализации и разрегистрировать наблюдатель, как это:
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"MyNotification" object:nil];
Если вы заинтересованы в том, как сделать это с помощью слабого ссылочного метода делегата вызова, Я написал ответ об этом здесь: https://stackoverflow.com/a/10273551/1318525
То, как вы его написали, не будет работать. Вам нужно будет изменить маленький '-' в classB: methodB на '+' для метода класса. – JiuJitsuCoder