Когда у меня это есть, у меня обычно есть элемент данных parentReference.
например:
#import "A.h";
#import "B.h";
@implementation A
- (void) f
{
B *bInstance = [[B alloc] init];
bInstance.parentRef = self;
[self.navigationController pushViewController: bInstance];
}
// в то время как класс 'B' объявлен как
@class A;
@interface B : UIViewController
{
A *parentRef;
}
@property (nonatomic, assign) A *parentRef;
таким образом, вы можете вернуться в класс, который вас вызвал, и делать все, что вы хотите
(вы можете подумать, что [self.view superview] == parentRef
, но это не так)