【Objective-C基础知识-12】OC语法特性 -- 块语法

一、基本概念

  Block:块语法,本质上是匿名函数(没有名称的函数),苹果推荐的类型,效率高,用来封装和保存代码,BLOCK可以在任何时候执行。

  标准C里面没有Block,C语言的后期扩展版本,加入了匿名函数,C++、JS、Swift等语言,有类似语法,叫做闭包。

  Block语法和函数指针很相似。

  Block和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。

  Block就是一个匿名函数,它是OC对于闭包的实现,在块状中我们可以持有或引用局部变量,同时利用Block你可以将一个操作作为一个参数进行传递(是不是想起了C语言中的函数指针)。

时间: 2024-10-23 07:53:55

【Objective-C基础知识-12】OC语法特性 -- 块语法的相关文章

Java语言的基础知识12

第十四章(使用集合类保存对象) 1.java中得集合对象就像是一个容器,它用来存放Java类的对象.Java中的集合类有些方便存入和取出,有些则方便查找.集合类和数组的区别是,数组的长度是固定的,集合的长度是可变的,数组用来存放基本类型,集合用来存放对象的引用.常用的集合类有List集合,Set集合,和Map集合. 2.List集合包括List接口以及List接口的所有实现类.List集合中的元素许重复,个元素的顺序就是对象插入的顺序.类似java中的数组.List类继承了Collection接

iOS9基础知识(OC)笔记

1月16日 Objective  C(20世纪80年代初) 一.OC语言概述 1.1985年,Steve  Jobs成立了NeXT公司 2.1996年,12月20日,苹果公司宣布收购了NeXT  software 公  司,NEXTSTEP环境为apple公司下主要开发.发行操作 系统OSX的基础,这个开发环境的版本被苹果公司命名为 Cocoa(可可)框架             NSString  NS=NEXTSTEP 3.Cocoa框架  (Cocoa  Touc

PHP基础知识之流程控制的替代语法

PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;. <?php if ($a == 5): ?>A is equal to 5<?php endif; ?> <?phpif ($a == 5):    echo "a equals 5

linux云自动化运维基础知识12(不同系统之间的文件传输)

####1.文件归档####1.文件归档,就是把多个文件变成一个归档文件2.tar    c        ##创建    f        ##指定归档文件名称 t        ##显示归档文件中的内容 r        ##向归档文件中添加文件 --get        ##取出单个文件 --delete    ##删除单个文件 x        ##取出归档文件中的所有内容 -C        ##指定解档目录    -z        ##gz格式压缩    -j        ##b

服务计算基础知识 UDDI SOAP WSDL特性 SOA 设计原则

1. Web Services中的WSDL,UDDI,SOAP都有什么作用?他们是怎么相互作用来使用Web服务系统或应用的?他们的组成元素(结构)分别是什么?这些元素之间有什么关系? WSDL:web服务描述语言,用于描述服务的接口 UDDI:统一描述.发现和集成协议,使得用户可以发现服务并将服务组合到自己的系统中 SOAP:简单对象访问协议,实现消息的封装和传输 它们之间的互操作过程:SOAP负责消息的编码.封装和传输,定义了通信模型,而后通过WSDL分离功能和执行,描述SOAP的服务的接口,

2017-11-17Linux基础知识(12)用户和组的管理命令

在上一章中我们讲述了通配符(bash globing)以及IO重定向及管道,以及介绍了用户管理的基本概念,主要讲述了其用户类别和组类别及管理用户和组的数据库文件,在用户类别当中分为管理员和普通用户这两个大类,而普通用户又分为系统用户和登录用户这个两类.之后在组类别当中介绍了其管理组和普通用户组还有一个组类别是基本组和附加组,最后一个组类别为似有组和公共组,那么接下来我们讲述Linux用户和组的管理命令. 一.安全上下文 我们都知道,所有的进程都是使用发起者的身份来运行,那么对于操作系统来讲,所谓

linux基础知识-12

一.目录权限 前面学习了文件的权限rwx,对于文件来说可以阅读文件的内容(r),修改文件内容(w),把文件当作为脚本或应用程序执行(x).对于目录呢? linux中目录也是一种文件,与常规文件不同: r权限:表示可以浏览目录中的内容,即用ls可以查看目录中的内容. w权限:表示可以在目录中添加文件和删除文件,即可写权限. x权限:由于目录与执行没有关系,但为了统一我们也叫执行权限.表可可以搜索这个目录中的文件及可以进入目录中. 没有了x权限,老陌测试中发现:进不了目录中,ls 目录时能看到目录中

沉淀,再出发:Java基础知识汇总

沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的语法,对象的定义,类.接口.继承.静态.动态.重载.覆盖这些基本的概念和使用方法,到稍微高级一点的多线程,文件读写,网络编程,GUI使用,再到之后的反射机制.序列化.与数据库的结合等高级一点的用法,最后将设计模式应用其中,产生了一个个新的概念,比如Spring.Spring MVC.Hibernat

浅析ios开发中Block块语法的妙用

事实上,任何一个应用的开发都离开多线程.而"块"block与GCD就是苹果OC语言中多线程的核心. 一.块的内部结构 在oc中,块语法以闭包的形式存在,每一个Objective-C对象都占据着某个内存区域.块本身也是一个对象,在存放块的对象内存区域中,首个变量是指向Class的指针,该指针叫做isa.其余内存里含有块对象正常运转所需的各种信息. 以下是块语法的内部结构变量. 1.void*                                   isa(指向class的对象