iOS回调函数(block篇)
来源:互联网 发布:韩剧网软件下载 编辑:程序博客网 时间:2024/06/11 12:05
我们经常用到回调,到底什么是回调函数呢?
回调函数就是由申明函数的类调用函数,而实现却在另一个类中。事实上,通知,block,代理虽然名字不一样但是原理都一样,都是利用回调的机制。
下面就一起了解下block的回调,以block在两个控制器之间的回调传值为例:
首先我们创建一个视图控制器myViewController
我们在控制器中自定义一个block ,代码如下:
#import <UIKit/UIKit.h>
typedef void (^ReturnTextBlock)(NSString *showText);
@interface myViewController : UIViewController
@property(strong,nonatomic)ReturnTextBlock textblock;//申明block
//- (void)returnText:(ReturnTextBlock)block;
@end
#import "myViewController.h"
@interface myViewController ()
@end
@implementation myViewController
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor=[UIColorwhiteColor];
UIButton*btn=[UIButtonbuttonWithType:UIButtonTypeCustom];
btn.frame=CGRectMake(100,100, 30, 30);
btn.backgroundColor=[UIColorblueColor];
[btn addTarget:selfaction:@selector(btnClicked)forControlEvents:UIControlEventTouchUpInside];
[self.viewaddSubview:btn];
}
-(void)btnClicked
{
self.textblock(@"传值到另外一个控制器");//调用block
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
下面看看block的实现在哪里,他在另外一个控制器中
- (IBAction)ValueSend:(id)sender {
myViewController*my=[myViewControllernew];
my.textblock=^(NSString *showText) {
[self.textbtnsetTitle:showTextforState:UIControlStateNormal];//相当于block的实现,显示在btn上
};
[selfpresentViewController:my animated:YEScompletion:nil];
}
- iOS回调函数(block篇)
- Block 回调函数
- 【iOS学习笔记】之block回调函数浅析
- ios回调函数
- IOS回调函数
- ios回调函数
- Block、委托、回调函数原理剖析
- 使用 block 做回调函数
- ios自定义回调函数(performSelector)
- 对iOS网络请求的简单封装,并且使用block回调函数方式
- 对iOS网络请求的容易封装,并且使用block回调函数方式
- [iOS]Objective-C利用协议实现回调函数(类似java的回调函数)
- [iOS]Objective-C利用协议实现回调函数(类似java的回调函数)
- [iOS]Objective-C利用协议实现回调函数(类似java的回调函数)
- [iOS]Objective-C利用协议实现回调函数(类似java的回调函数)
- [iOS]Objective-C利用协议实现回调函数(类似java的回调函数)
- Block、委托、回调函数原理剖析(在Object C语境)
- block 回调函数(程序块)
- GitHub和SourceTree入门教程
- backpack-ii
- 常用的sql语句(3)
- 通过CM启动hive报错.org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver
- 网站记录
- iOS回调函数(block篇)
- 兄弟连专注IT教育 九周年再创辉煌
- window下连接mysql 错误代码 1045
- 计蒜客——难题库——“爬梯子”问题
- StringBuffer
- C#索引器与属性
- lightoj 1294 - Positive Negative Sign 【基础计数】
- Linux Programing -- ch14-- 信号量、共享内存、消息队列
- 矩阵覆盖那点事儿