利用block完成回调,小demo一个。闲话少说,直接上代码了!O(∩_∩)O~
TestObject.h
#import <Foundation/Foundation.h>
typedef void (^FinishBlock)(NSString *backStr);
@interface TestObject : NSObject
//能进行回调的方法
- (void)playSomeTime:(FinishBlock)block;
@end
TestObject.m
#import "TestObject.h"
@implementation TestObject
- (void)playSomeTime:(FinishBlock)block{
for (int i = 0; i< 5000; i++) {
NSLog(@"i===%d",i);
}
block(@"被回调的字符串O(∩_∩)O~");
}
@end
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@end
ViewController.m
#import "ViewController.h"
#import "TestObject.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
TestObject *obj = [[TestObject alloc] init];
[obj playSomeTime:^(NSString *backStr){
NSLog(@"回调完成,被返回的结果===%@",backStr);
}];
NSLog(@"这是同步操作,需要等待回调完成");
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
@end