Самый простой способ.
В классе B -(id)initWithNibName: Bundle:
вам нужно будет добавить регистрацию для NSNotifications.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(methodB:)
name:@"methodAFinished"
object:nil];
}
return self;
}
И затем вам нужно сделать следующее в методе класса A A.: function.
- (void)methodA:(id)sender {
// Once you have completed your actions do the following
[[NSNotificationCenter defaultCenter] postNotificationName:@"methodAFinished" object:nil];
}
- (void)methodB:(id)sender {
// This will then be called in the other class, do whatever is needed in here.
}
Надеюсь, что это работает для вас!
Кроме того, не забывайте, что в -(void)viewDidDisappear:animated
функции класса B вам необходимо отменить регистрацию для уведомлений.
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
Это должно выполнить то, что вы просите.Пожалуйста, добавьте к своему вопросу, если это не то, над чем вы работаете, или прокомментируйте ниже, и я могу исправить свой ответ.