搜索

首页  >  问答  >  正文

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

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

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

大家讲道理大家讲道理2768 天前656

全部回复(2)我来回复

  • 天蓬老师

    天蓬老师2017-04-21 11:17:54

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

    回复
    0
  • PHP中文网

    PHP中文网2017-04-21 11:17:54

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

    回复
    0
  • 取消回复