首页 > 代码库 > iOS 使用Block实现函数回调
iOS 使用Block实现函数回调
其实,iOS中的Block就是C++中的函数指针,实现方式都是一样的,下面贴出一个简单的实践。
首先,创建一个回调的类
BlockStudy.h
// // BlockStudy.h // BlockStudy // // Created by 杜甲 on 11/11/14. // Copyright (c) 2014 杜甲. All rights reserved. // #import <Foundation/Foundation.h> @interface BlockStudy : NSObject typedef void (^TestBlock)(); @property (nonatomic , strong) TestBlock testBlock; - (void)StartBlock; @endBlockStudy.m
// // BlockStudy.m // BlockStudy // // Created by 杜甲 on 11/11/14. // Copyright (c) 2014 杜甲. All rights reserved. // #import "BlockStudy.h" @implementation BlockStudy - (void)test { if (_testBlock) { _testBlock(); } } - (void)StartBlock { [self performSelector:@selector(test) withObject:nil afterDelay:2.0]; } @end
调用类ViewController.m
// // ViewController.m // BlockStudy // // Created by 杜甲 on 11/11/14. // Copyright (c) 2014 杜甲. All rights reserved. // #import "ViewController.h" #import "BlockStudy.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. BlockStudy *block = [[BlockStudy alloc] init]; block.testBlock = ^() { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Block学习" message:@"测试成功" delegate:self cancelButtonTitle:@"取消吧" otherButtonTitles:@"OK", nil]; [alert show]; }; [block StartBlock]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
iOS 使用Block实现函数回调
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。