#import "ViewController.h"
#import "Person.h"
@interface ViewController ()
/** */
@property(strong ,nonatomic)Person * p;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//1.block作为对象的属性!!
//2.block作为方法的参数!!
//3.block作为返回值!!!(扩展非常强!!)
Person * p = [[Person alloc]init];
p.run(100);
}
-(void)block2{
Person * p = [[Person alloc]init];
[p eat:^(NSString * s) {
NSLog(@"爱吃%@",s);
}];
}
-(void)block1{
Person * p = [[Person alloc]init];
//block -- inlineBlock
void(^HKBlock)() = ^() {
NSLog(@"block");
};
p.block = HKBlock;
_p = p;
}
#import <Foundation/Foundation.h>
@interface Person : NSObject
/** block :ARC使用strong 非ARC copy */
@property(nonatomic,strong) void(^block)();
-(void)eat:(void(^)(NSString *))block;
-(void(^)(int))run;
@end
#import "Person.h"
@implementation Person
-(void)eat:(void (^)(NSString *))block{
block(@"苹果");
}
-(void (^)(int))run
{
return ^(int m){
NSLog(@"哥么跑起来了!!跑了%d",m);
};
}
@end
网友评论