回调函数可以说是很有用的东西,刚接触object-c,回调函数自然需要重点研究下:

回调函数:

类A调用类B, 类B需要调用A中的某个函数

通常有两个步骤:

- 回调函数注册   类A将自己的函数作为回调函数注册到B

- 函数调用,类B中达到某个条件时调用类A注册到类B的回调函数

object-c中回调函数需要使用协议:protocol来实现,如下:

步骤一 创建protocol

@protocol myprotocoltest <NSObject>

@required

-(void)callback:(int)par;

@end

步骤二  创建类B  运行回调函数

classB.h

@interface MalertViewUtil : NSObject{

id<myprotocoltest>delegate;

}

@property (nonatomic, retain) id<myprotocoltest>delegate;

-(void)test;

@end

classB.m

@implementation ClassB

@synthesize delegate;

-(void)test{

[self.delegate callback];//调用回调函数

}

@end

第三步  类A进行回调函数注册

classA.h

@interface CselectNotes : UITableViewController<myprotocoltest>

-(void)classAtest;

@end

classA.m

@implementation ClassB

-(void)callback:(int)par{

NSLog(@"callback classA");

}

-(void)classiest{

classB *classBtest = [[classB alloc] init];

classBtest.delegate = self;

[classBtest test];//调用回调函数

}

@end

需要注意:

类A必须遵守协议

objective-c 回调函数相关推荐

  1. Go 学习笔记(16)— 函数(02)[函数签名、有名函数、匿名函数、调用匿名函数、匿名函数赋值给变量、匿名函数做回调函数]

    1. 函数签名 函数类型也叫做函数签名,可以使用 fmt.Printf("%T") 格式化参数打印函数类型. package mainimport "fmt"f ...

  2. OpenCV(六)形态学操作1--基础:膨胀与腐蚀(回调函数)

    目录 形态学通用API:morphologyEx 一.基础理论 1.邻接关系 (1)四邻接: (2)D邻接: (3) 八邻接: 2.连通性 (1)四连通: (2)八连通: (3)m连通: 3.形态学基 ...

  3. 函数指针--Nginx和Redis中两种回调函数写法

    1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...

  4. 回调函数在C/C++中的使用

    回调函数就是一个通过函数指针调用的函数.假如把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,那么就是回调机制.A函数就是回调函数,而通常情况下,A函数是在系统符合 ...

  5. 【FFmpeg】自定义回调函数处理AVIOContext中的数据

    1.简述 AVIOContext是FFmpeg管理输入输出数据的结构体,它的成员变量有指向数据的指针.大小以及处理数据的回调函数指针等等.如果使用avio_open或avio_open2来创建,它会根 ...

  6. php 回调递归,PHP数组函数 array_walk_recursive (使用回调函数递归遍历数组元素)

    在PHP中,数组函数 array_walk_recursive () 使用回调函数递归遍历数组元素. 函数语法:array_walk_recursive ( array &$array , c ...

  7. ajax post的回调函数另一个方法,jQueryajax–post()方法 - 米扑博客

    jQuery ajax - post() 实例 请求 test.php 网页,忽略返回值: $.post("test.php"); 通过 AJAX POST 请求改变 div 元素 ...

  8. nodejs回调函数理解

    回调实例 问题:想要得到一秒后 计算出的结果 //错误写法function add(x,y) {console.log(1);setTimeout(function () {console.log(2 ...

  9. dispatch callback ant design pro 网络请求回调函数

    index.jsx 代码解析:在组件初次渲染时调用 model 中 命名空间为  a_models  的 getData 网络请求,传了一个patload 参数和 callback 回调函数过去,然后 ...

  10. js回调函数和函数带参数的使用示例

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. //demo1 <html><head><meta charset=" ...

最新文章

  1. 你会不会模拟超过 5 万用户的并发访问?
  2. [BZOJ3595][SCOI2014]方伯伯的OJ(裂点Splay)
  3. spring mvc DispatcherServlet详解之四---视图渲染过程
  4. LeetCode-206 反转链表
  5. [css] 举例说明与打印有关的属性有哪些?
  6. 钉钉、微信产品大PK,基因已经决定了结果
  7. Lwip协议详解(基于Lwip 2.1.0)-内存管理
  8. 台式计算机键盘驱动程序,电脑中使用驱动人生检测不到键盘驱动程序怎么解决...
  9. 点金软件测试自学,徐文明短线点金相关公式
  10. 降了还是涨了?瓶装水市场再秀迷幻操作
  11. 微信网页授权接口 对象存储
  12. Codeforces 1194D
  13. 飞秋教程 2013 阳阳整理完整版
  14. Linux中不同MTD设备分区,Linux MTD设备总结
  15. DB2 V9.7新特性 - 降低高水位标记
  16. 个人简历特长及自我评价怎么写?
  17. 《惢客创业日记》2022.01.01-31(周六)我的第七次心智提升
  18. 飞桨2.0高层api教程——使用预训练词向量进行文本分类
  19. C语言结构体的存储空间分配
  20. intel(R) Dual BandWireless-Ac 7265 工作异常(代码31) 以及Windows仍在设置此设备的类配置(代码56)

热门文章

  1. java phoneweb_《Android、iPhone、Windows Phone手机网页及网站设计—
  2. 张文骁:游戏开发的“零件人”梦碎之后|OneFlow U
  3. C/C++堆区、栈区、常量区、静态数据区、代码区详解
  4. PHP 数组操作 和 随机数
  5. 总结现在,展望未来——2013-2014年终总结
  6. 看完这组照片,你还敢说自己会PS吗?
  7. codeup墓地目录
  8. 【问卷有奖奖奖奖奖】云栖大会调研问卷~!甜美小姐姐贡献全部身家只求真心话...
  9. python04-list,tuple
  10. from用法 prepare_MySQL 预处理语句prepare、execute、deallocate的使用