博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS之 block,代替代理作为回调函数
阅读量:6799 次
发布时间:2019-06-26

本文共 825 字,大约阅读时间需要 2 分钟。

最近在弄一个视频会议的项目,但今天要说的跟视频基本没关系,我们来说一下在一个view中创建一个button,在controller中加载这个view

当button被点击后将时间响应传递给controller,去做其他修改

 

大致就是这个环境下,我们很快想到用代理,当然可以,这里不阐述代理的实现过程我们用block来实现直接上代码

1 xxxx.h 2 @interface xxxx : UIView 3 //这里一定要给block 的copy属性,具体原因请参照我关于block的文章 4 @property (nonatomic, copy) void (^ButtonBlock)(BTNACTION); 5 @end 6  7  8 xxxx.m 9 //这里是button点击事件10 -(void)menuAction:(UIButton *)btn11 {12   if(_ButtonBlock)13 14   _ButtonBlock( 这里传你要的参数或者你不传参数就什么都不写);15 16 }

2,这里要去给controller(连线了)有点跟代理很像

1     xxxx = [[xxxx alloc]initWithFrame:callUseLocalView.frame];2 3 //    __weak __typeof(self)weakSelf = self;4 5     xxxx.ButtonBlock = ^(BTNACTION action//我这里传的是结构体如果你不需要传参数这里忽略){6        7     //这里就是当你执行block,就会调用的 ,如果这里用到self,请注意循环引用问题8 };

每天记录一点点,让自己过得更充实

顺便吐槽下房租又涨了,搬砖,继续搬砖

转载于:https://www.cnblogs.com/chengxiaoyu/p/5328143.html

你可能感兴趣的文章
基于python开发的股市行情看板
查看>>
linux进程管理总结
查看>>
Linux学习笔记(1)--基本命令
查看>>
Longhorn:实现Kubernetes集群的持久化存储
查看>>
阿里云 Aliplayer高级功能介绍(三):多字幕
查看>>
Data Lake Analytics: 以SQL方式查询Redis数据
查看>>
一条查询sql的执行流程和底层原理
查看>>
ActiveMQ多个消费者消费不均匀问题
查看>>
ovirt自承载引擎安装配置 安装过程中的FQDN问题
查看>>
小米进军欧洲智能手机市场:一面是狂欢,一面是考验
查看>>
提高IO性能(只需要设置 noatime)
查看>>
批处理 启动和关闭 Oracle 11g 服务
查看>>
二手车服务商完成A轮融资,投资方为标志雪铁龙集团
查看>>
一文读懂什么是Java中的自动拆装箱
查看>>
java函数式编程
查看>>
获5.3亿美金融资,亚马逊、红杉入局,自动驾驶“梦之队”Aurora还藏了哪些秘招?...
查看>>
C#-Xamarin利用ZXing.Net.Mobile进行扫码
查看>>
网站有漏洞被攻击篡改了数据该怎么修复解决
查看>>
抖音短视频开发项目跨入社交圈,头条实现社交梦?
查看>>
亲测 | 如何更高效的管理原生微服务应用
查看>>