问题描述
不是很明白@property (nonatomic, copy) void(^doTransferMsg)(NSString *_msg)
这种声明属性方式。只知道void(^doTransferMsg)这是使用block方式声明方法。
问题解答
回答1:或许这样更容易明白.h
typedef void(^doTransferMsg)(NSString *_msg);@property (nonatomic, copy) doTransferMsg transferMsg;
.m
@synthesize transferMsg;[self setTransferMsg:^(NSString *str){ NSLog(@'hello %@',str);}];transferMsg(@'navy');transferMsg(@'navy2');回答2:
把block当成一个普通类型看就明白了,在这里block和普通类型也没啥区别,就是定义一个这个类型的属性。