码迷,mamicode.com
首页 > 移动开发 > 详细

iOS简单block的使用

时间:2015-04-23 19:30:33      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

1.第一种方法

声明block:

- (void)test:(int) param_1 completion:(void(^)(int)) completion;

实现block:

-(void)test:(int)param_1 completion:(void (^)(int))completion {
    int total = ++param_1;
    completion(total);  //这个一定要写
}

调用block:

[self test:10 completion:^(int param_2) {
     NSLog(@"param_2:%d",param_2);
 }];

解释一下上面的方法,调用block的时候传递的是10,10在"实现block"那一步被加了1,Log打印出来的就是11

2.第二种方法

声明block:

声明:(返回类型)(^声明的block名称)(参数列表);

typedef void(^completion)(NSString *param_1, NSString *param_2);

构造含有block的方法

- (void)testNSString:(NSString *)param_1 completion:(completion) completion;

实现block

-(void)testNSString:(NSString *)param_1 completion:(completion)completion {
    NSString *test_1 = [param_1 stringByAppendingString:@" world"];
    NSString *test_2 = @"!";
    completion(test_1, test_2);//这个一定要写
}

调用block

[self testNSString:@"hello" completion:^(NSString *param_1, NSString *param_2) {
    NSLog(@"输出内容是:%@",[param_1 stringByAppendingString:param_2]);
}];

解释一下上面的方法,调用block的时候传递的是"hello","hello"在"实现block"那一步被加了" world",Log打印出来的就是"输出内容是:hello world!".




iOS简单block的使用

标签:

原文地址:http://www.cnblogs.com/wb145230/p/4451263.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!