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

IOS开发- 用block实现回调

时间:2014-06-27 13:05:40      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   tar   

在IOS开发中经常会用到回调的情况,下面介绍如何用block实现回调。

bubuko.com,布布扣
1 #import <Foundation/Foundation.h>
2 
3 @interface BLock : NSObject
4 
5 + (void)getBlock:(void (^)(NSString *))someblock;
6 
7 @end
BLock.h
bubuko.com,布布扣
 1 #import "BLock.h"
 2 #import <Foundation/Foundation.h>
 3 
 4 @implementation BLock
 5 
 6 + (void)getBlock:(void (^)(NSString *))someblock
 7 {
 8     NSLog(@"we are in a getBLock function");
 9     someblock(@"BLOCK GO GO");
10 }
11 @end
BLock.m

上面有一个BLock类, 里面有个静态方法,通过someblock回调一个string 数据。

bubuko.com,布布扣
 1 #import <Foundation/Foundation.h>
 2 #import "BLock.h"
 3 int main(int argc, const char * argv[])
 4 {
 5 
 6     @autoreleasepool {
 7         
 8         [BLock getBlock:^(NSString *str){NSLog(@"%@",str);}];
 9     }
10     return 0;
11 }
main.m

通过回调回来的str参数 ,在main里面显示。

输出结果如下

2014-06-26 18:01:31.065 MyFirstApp[2430:303] we are in a getBLock function
2014-06-26 18:01:31.066 MyFirstApp[2430:303] BLOCK GO GO
Program ended with exit code: 0

 

也可以将BLock.h和BLock.m的文件改写成如下:

bubuko.com,布布扣
1 #import <Foundation/Foundation.h>
2 
3 typedef  void (^ablock)(NSString *);//将block定义为新的类型
4 
5 @interface BLock : NSObject
6 
7 + (void)getBlock:(ablock)someblock;
8 
9 @end
BLock.h
bubuko.com,布布扣
 1 #import "BLock.h"
 2 #import <Foundation/Foundation.h>
 3 
 4 
 5 @implementation BLock
 6 
 7 + (void)getBlock:(ablock)someblock
 8 {
 9     NSLog(@"we are in a getBLock function");
10     someblock(@"BLOCK GO GO");
11 }
12 @end
BLock.m

 

IOS开发- 用block实现回调,布布扣,bubuko.com

IOS开发- 用block实现回调

标签:style   class   blog   code   http   tar   

原文地址:http://www.cnblogs.com/changkaizhao/p/3810596.html

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