首页 > 其他分享 >Objective-C学习笔记(Block用法)

Objective-C学习笔记(Block用法)

时间:2024-08-08 20:23:12浏览次数:14  
标签:typedef int 用法 stringBlock NSString Block Objective 回调 block

Blocks(块)

block以插入字符(^)为标识。可以作为函数参数,返回值,或直接调用

返回类型(^block命名)(参数类型1,参数类型2)
NSString* (^stringBlock) (int,int) = ^NSString*(int a,int b){
    return [NSString stringWithFormat:@"%d%d", a, b];
};

当使用block作为函数的参数或返回值时,使用typedef是一个好主意

 typedef NSString *(^stringBlock)(int a, int b);

可以直接使用stringBlock来代替NSString *(^stringBlock)(int a, int b)这一大串

在block内部无法直接修改block外部定义的变量值。需要在其前面加上修饰符_ _block

block作为回调将一段代码和一个特定的事件联系在一起,当特定事件发生后,这段代码才会被执行)使用有很大的便捷。相比于代理需要创建类、编写协议,对于一个小小的回调来说开销太大,而blcok就能很好地完成这件事。并且block可以在一个地方完成回调之前和回调时的代码,更加集中。使用代理是没有这个优势的

参考文章:https://blog.csdn.net/m0_73974056/article/details/137792527

回顾 oc回调的几种方式

标签:typedef,int,用法,stringBlock,NSString,Block,Objective,回调,block
From: https://blog.csdn.net/qq_39773151/article/details/140895776

相关文章

  • 从理念到实践,解构HBlock降本增效黑科技!
    “新存储 更轻量”天翼云存储资源盘活系统HBlock2024年线上技术分享会来啦!在2023年HBlock分享会之后不少小伙伴积极参与了1PB免费尝鲜活动好评如潮的同时也对HBlock有了更多期待!那么2024年轻量存储技术有哪些突破?HBlock又有哪些新的技术创新或场景实践让我们拭目以待......
  • GDIT的用法总结
    GDIT的用法从MYSQL的主从复制讲起在Mysql中,我们部署一个数据库的时候往往会有多个服务器,我们称之为服务器的拓朴结构.在主从复制(Replication)环境中,通常主服务器(Master)负责处理写操作以及事务的生成与提交.主服务器会将对服务器的操作记录到binlog中,当事务开始执......
  • Selenium 4 的用法
    Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaFirefox,Safari,GoogleChrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在......
  • c# net6创建API项目 日志管理log4net的用法
    一、program.cs//配置log4netXmlConfigurator.Configure(newFileInfo("log4net.config"));二、公共类LogHelper.csnamespaceElecInvoice.Common{publicclassLogHelper{publicstaticreadonlylog4net.ILogloginfo=log4net.LogManage......
  • 很多朋友对 ABAP 关键字 FINAL 的用法,只掌握了一半
    本文阅读目录FINAL对ABAP类和方法意味着什么什么是变量的Up-front声明方式什么是变量的Inline声明方式ABAP757对变量内联声明方式的进一步增强笔者把之前的文章 SAP某ABAP系统标准类中仅有5.4%公有属性被READ-ONLY修饰,原因竟然是…… 分享到我的SAP技......
  • 猫头虎分享 Python 知识点:pandas--info()函数用法
    ......
  • Javascript——NaN有什么用法
    简介在JavaScript中,NaN(NotaNumber)是一个特殊的值,用来表示非数字的结果,例如一个不合法的数学运算的结果。根据IEEE754浮点数标准,NaN不等于任何值,包括它自己。这意味着NaN是唯一一个与自身不相等的值,所以表达式NaN===NaN返回false。判断NaN如果你需要检测一......
  • 【深入剖析】Spring依赖注入的最佳实践(@Autowired的正确用法)
    文章目录为什么Spring不推荐使用@Autowired进行字段注入?字段注入的使用与弊端1.不可见的依赖关系2.无法使用final修饰符3.测试不便推荐的替代方案1.构造器注入构造器注入的优势包括2.设值注入设值注入的优势包括总结为什么Spring不推荐使用@Autowired进行字......
  • 笠鬼bug的用法及注意事项是什么?小白也能懂!笠鬼风灵月影修改器快速启动三步秘籍
    在《笠鬼》这款游戏中,通常提到的“bug”是指游戏程序中的错误或漏洞,它们可能允许玩家以非预期的方式获得优势或绕过游戏的正常机制。然而,玩家通常不会主动“使用”bug,因为这样做可能违反游戏的服务条款,并可能导致账号被封禁。不过,从另一个角度来看,玩家可能会寻找或使用游戏修......
  • 【YashanDB数据库】大事务回滚导致其他操作无法执行,报错YAS-02016 no free undo block
    问题现象客户将一个100G的表的数据插入到另一个表中,使用insertintoselect插入数据。从第一天下午2点开始执行,到第二天上午10点,一直未执行完毕。由于需要实施下一步操作,客户kill重启了数据库,之后数据库一直回滚中,导致后续执行其他操作都报错YAS-02016nofreeundoblocks问题......