您的位置:首页 > 移动开发 > IOS开发

iOS Block属性

2017-07-28 09:58 281 查看
#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 界面