标签:
//FIRST typedef void(^TellPicBlock)(NSString *albumPic) ;//typedef定义BLOCK @interface PersonProfileViewController : UITableViewController @property (nonatomic,copy) TellPicBlock TBlock;//声明一个BLOCK名字为TBLOCK
在合适的时候调用block,例如这里是在播放音乐时,从数据模型中取出存好的ALBUMPIC的地址后,变通知PlayingVC类这个图片的地址信息
if (_TBlock)
{
self.TBlock(pMusuic.albumPic);
//或者_TBLOCK(pMusuic.albumPic);
}
下面就是在PlayingVC中实现这个block的具体方法,(NSString *albumPic)就是从PPVC类中传递过来的图片信息
///无返回值的block调用实现,接收专辑图片
///无返回值的block调用实现,接收专辑图片
__weak PlayingVC *pvc = self;//为了避免循环引用需要制定弱指针
self.ppvc.TBlock = ^(NSString *albumPic){
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"接收到专辑图片%@",albumPic);
NSURL *urlalbum = [NSURL URLWithString:albumPic];
NSData *imgdata = [NSData dataWithContentsOfURL:urlalbum];
dispatch_async(dispatch_get_main_queue(), ^{
[pvc.imgv setImage:[UIImage imageWithData:imgdata]];
pvc.imgv.contentMode = UIViewContentModeScaleAspectFit;
});
}) ;
};
打印结果为: 2015-06-02 22:21:55.793 MyFm[10974:105677] 接收到专辑图片http://image.kaolafm.net/mz/images/201403/addd221d-7952-46c5-bc52-3f1d5da8a2b0/default.jpg 2015-06-02 22:21:55.794 MyFm[10974:102918] 专辑图片为http://image.kaolafm.net/mz/images/201403/addd221d-7952-46c5-bc52-3f1d5da8a2b0/default.jpg
标签:
原文地址:http://my.oschina.net/wupengnash/blog/424048