@property (nonatomic, copy) void(^doTransferMsg)(NSString *_msg)

不是很明白
@property (nonatomic, copy) void(^doTransferMsg)(NSString *_msg)

这种声明属性方式。只知道void(^doTransferMsg)这是使用block方式声明方法。

阅读 7.8k
2 个回答

或许这样更容易明白
.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");

把block当成一个普通类型看就明白了,在这里block和普通类型也没啥区别,就是定义一个这个类型的属性。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进