您可以通过两种方式做到这一点:
方法一:
用户本地通知。
在主类中,通过以下方式将观察者添加到 LocalNotification Center 中。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobDone) name:@"WORKERJOBOVER" object:nil];
当工作完成后,在工人类中发布通知以触发选择器:
[[NSNotificationCenter defaultCenter] postNotificationName:@"WORKERJOBOVER" object:nil];
方法 #2:
您可以为您的工作程序类创建一个协议,并在协议中添加一个方法,当您在工作程序中完成工作时,您可以在委托上调用该方法。
WorkerClass.h
//WorkerClass.h
@protocol WorkerDelegate
@interface WorkerClass: NSObject
@property (nonatomic, assign) id<WorkerDelegate> delegate
- (void)JobInProcess;
@end
@protocol WorkerDelegate
- (void)MyJobIsDone;
@end
WorkerClass.m
//WorkerClass.m
@implementation WorkerClass
@synthesize delegate = _delegate;
- (void)JobInProcess
{
//When job over this will fire callback method in main class
[self.delegate MyJobIsDone];
}
MainClass.h
//MainClass.h
#import WorkerClass.h
@interface MainClass: NSObject <WorkerDelegate>
@end
MainClass.m
//MainClass.m
@implementation MainClass
- (void)MyJobIsDone
{
//Do whatever you like
}
@end