您的位置:首页 > 其它

block 方法参数中带有block 如何生成 如何使用

2014-11-21 16:38 441 查看


第一种

typedef void(^SDWebImageDownloaderProgressBlock)(NSInteger receivedSize, NSInteger expectedSize);
@interface ssyTest : NSObject
{
SDWebImageDownloaderProgressBlock ssyblock;
}
- (void)testssy:(NSString *)str block:(SDWebImageDownloaderProgressBlock)ssy;


#import "ssyTest.h"

@implementation ssyTest
- (void)testssy:(NSString *)str block:(SDWebImageDownloaderProgressBlock)ssy
{
ssyblock = ssy;
[self performSelector:@selector(jjj) withObject:nil afterDelay:5];
}

- (void)jjj
{
ssyblock(1,2);
}


ssyTest *ssy = [[ssyTest alloc] init];
[ssy testssy:@"3" block:^(NSInteger s1,NSInteger s2){

NSLog(@"%d   %d",s1,s2);
}];


第2中

- (void)testCallback:(void (^)(int ssy,NSString *str))callback;


- (void)testCallback:(void (^)(int ssy,NSString *str))callback
{
callback(5,@"ssy");
}


[ssy testCallback:^(int index,NSString *str){
NSLog(@"%d   %@",index,str);
}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: