block的声明和定义:
#import <UIKit/UIKit.h>
@interface RegisterView : UIView
//typedef 这个是重新定义,typeof是求类型
typedef void (^RegisterBlock)(NSString*);
//定义block
@property (nonatomic,strong) RegisterBlock registerBlock;
@end
这里不需要遵循什么代理,直就是实现block,
//使用block执行,因为这类已经定义了,并且只有赋值的执行,这里并不是赋值那么简单,
_registerView.registerBlock = ^(NSString * str){
//因为它获取了打印的属性
NSLog(@"str is : %@",str);
//在这里可实现相应的界面转换等等逻辑,但是内存不是和当前的方法在一块
};
//这里并不是赋值,并不是get的类似,而是获取数据,当然就是使用block啦
这样就可以完成了,比代理方便了很多。yeah!!!!!!