iOS 简单使用Block回调
来源:互联网 发布:php邮箱验证点击激活 编辑:程序博客网 时间:2024/06/07 05:44
创建两个ViewController,RootViewController和FirstViewController,将RootViewController设为根视图
//FirstViewController.h#pragma mark -知识点 block回调第一步:重定义block类型//将系统现有的类型定义一个别名 : typedef NSInteger INT;//FirstBlock 是别名,等同void(^)(UIColor *color)typedef void(^FirstBlock)(UIColor *color);@interface FirstViewController : UIViewController#pragma mark -知识点 block回调第二步:声明方法,将block作为方法的参数封装到方法中- (void)changeColorWithString:(NSString *)string block:(FirstBlock)block;//定义block属性//********特别注意:block属性必须要用copy修饰,retain和assign无效@property (nonatomic, copy)FirstBlock myBlock;@end
//FirstViewController.m- (void)dealloc{ Block_release(_myBlock); //释放block [super dealloc];}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor];UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.backgroundColor = [UIColor brownColor]; [btn addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside]; btn.frame = CGRectMake(100, 100, 50, 50); [self.view addSubview:btn]; [btn setTitle:@"pop" forState:UIControlStateNormal];}- (void)action:(UIButton *)btn{ //执行block self.myBlock([UIColor purpleColor]); [self.navigationController popViewControllerAnimated:YES];}#pragma mark -知识点 block回调第三步:实现方法- (void)changeColorWithString:(NSString *)string block:(FirstBlock)block{ self.navigationItem.title = string; //给属性赋值 self.myBlock = block;}
//RootViewController.m (引入FirstViewController头文件)- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor cyanColor]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.backgroundColor = [UIColor brownColor]; [btn addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside]; btn.frame = CGRectMake(100, 100, 50, 50); [self.view addSubview:btn]; [btn setTitle:@"push" forState:UIControlStateNormal];}- (void)action:(UIButton *)btn{ FirstViewController *firstVC = [[FirstViewController alloc] init]; //push时隐藏掉tabbar firstVC.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:firstVC animated:YES];#pragma mark -知识点 block回调第四步:调用方法,实现block [firstVC changeColorWithString:@"第二页" block:^(UIColor *color) { //接收回调回来的值 self.view.backgroundColor = color; }]; [firstVC release];}
2 0
- iOS 简单使用Block回调
- iOS block简单使用
- iOS block简单使用
- IOS block简单使用
- iOS-Block的简单使用
- iOS - block的简单使用
- iOS开发-block 简单使用
- iOS Block的简单使用
- iOS开发 block的简单使用
- IOS Block代码块的简单使用
- IOS Block代码块的简单使用
- iOS学习笔记-----block function简单使用
- iOS 关于block的简单使用
- iOS block块传值的简单使用 -2
- iOS block传值的简单使用
- IOS block简单讲解
- iOS-简单的block
- IOS学习(二十一)block简单使用
- python之C扩展
- DIV标签位置大小属性
- CSS颜色代码对照表
- JSP表格的表头固定不动
- leetcode -- Shortest Palindrome -- 不太理解
- iOS 简单使用Block回调
- 黑马程序员--GUI图形用户界面
- 北大OJ2388
- 黑马程序员——Java中数据类型及其之间的转换
- Gson->Gson创建json字符串,与解析json字符串
- HDOJ 1269 迷宫城堡 tarjan算法
- 关于XMLHttpRequest.open()设置提交方式 (POST,GET)
- 北大OJ3624
- 买啤酒最优解问题