Objective-C:09_Block

block用来保存一段代码

block标识:^

blick和函数很像:

1、可以保存代码段

2、有返回值

3、有形参

4、调用方式一样

    block的定义:

        返回值类型  (^block名称)(形参类型列表) = ^(参数列表){代码段};

    block调用:

        block名称(参数列表);

    int (^sumblock)(int,int) = ^(int a,int b){

        return a+b;

    };

定义block变量:

 int (^sumblock)(int,int) 

利用block封装代码:

^(int a,int b)

        {

        return a+b;

        };

block访问外部变量:

 1、block内部可以访问外部的变量

        2、默认情况下,block内部不能修改外面的局部变量

        3、给局部变量加上__block关键字(前面两条下划线),这个局部变量就可以在block内部修改 

利用typedef定义block类型:

typedef int (^Myblock)(int , int);

Myblock     b1,b2;

Myblock  sumblock=^(int a,int b) {

return a+b;

};

和指向函数的指针很像:

int sum(int a , int b)

{

return a+b;

}

函数指针:int (*p)(int , int) = sum;

p(10 ,12);

时间: 2024-08-30 13:05:16

Objective-C:09_Block的相关文章

objective c:import和include的区别, ""和<>区别

#include 指令只是告诉编译器把所要引用的头文件复制粘贴过来 #import 会检查是否已经导入过了,更有效率,更快. 比如a文件引用过头文件x.h,b文件也需要x.h,但b文件引用了a,则b中就不需要再重新引用x.h了. <>和""在头文件的区别 一般系统自带的用<> 而用户自己定义的用""

容灾、备份、存储

百度词条---王建成解读 容灾:一般是异地,否则如何容得了灾?==>是不是本地.不同机房就不算容灾,究竟是地方还是技术本身才是关键? 经典语录:容灾系统是数据存储备份的最高层次. [数据级容灾]是指通过建立异地容灾中心,做数据的远程备份,在灾难发生之后要确保原有的数据不会丢失或者遭到破坏,但在数据级容灾这个级别,发生灾难时应用是会中断的.在数据级容灾方式下,所建立的异地容灾中心可以简单地把它理解成一个远程的数据备份中心.数据级容灾的恢复时间比较长,但是相比其他容灾级别来讲它的费用比较低,而且构建

项目管理术语表

术语表中的许多单词,在词典中都有更广泛甚至不同的含义.本术语表遵循如下惯例对术语进行定义:? 在某些情况下,一个术语由多个单词组成(如风险紧迫性评估):? 当出现同义词时,不再对同义词进行定义,而建议读者参见相应的常用词语(即见某某词语):? 对非同义词的相关术语,则在其定义结尾处标明交叉引用(即参见某某词语).Acceptance Criteria 验收标准:可交付成果通过验收前必须满足的一系列条件.Accepted Deliverables 验收的可交付成果:项目产出的,且被项目客户或发起人

(原创)Stanford Machine Learning (by Andrew NG) --- (week 7) Support Vector Machines

本栏目内容来源于Andrew NG老师讲解的SVM部分,包括SVM的优化目标.最大判定边界.核函数.SVM使用方法.多分类问题等,Machine learning课程地址为:https://www.coursera.org/course/ml 大家对于支持向量机(SVM)可能会比较熟悉,是个强大且流行的算法,有时能解决一些复杂的非线性问题.我之前用过它的工具包libsvm来做情感分析的研究,感觉效果还不错.NG在进行SVM的讲解时也同样建议我们使用此类的工具来运用SVM. (一)优化目标(Opt

OKR 方法 学习笔记

最近公司兴起了对OKR这个词的讨论,并且听到时总会伴随提到KPI,提到绩效考核.那OKR到底是什么呢?与KPI的区别在哪里?与绩效考核有什么关系?它与我们现在推行的敏捷开发有啥关系呢?因此,就到网上查了些资料,加上个人的一些经验和理解,尽量用少的篇幅,整理成了这篇文章. 一.什么是OKR 我们先来看下什么是ORK,OKR的全称是Objectives and Key Results,即目标与关键成果法.它是一套定义和跟踪目标及其完成情况的管理方法. 一般人看到OKR都会想起Google.事实上,O

Andrew Ng机器学习课程7

回顾 通过定义训练集S={(x(i),y(i));i=1,2,...,m}与线性决策平面(w,b)之间的function margin γ^和geometric margin γ .好的分类决策平面特点得到了一个最优化问题: max(γ,w,b)γ s.t. y(i)(wTx(i)+b)≥γ, ||w||=1 下面要介绍的就是如何解决这个最优化问题,一个思路就是将这个没有"现货"可以解决的优化问题,转变为off-the-shelf的最优化问题的形式,以便直接拿来使用. 最优化问题推导过

24、【华为HCIE-Storage】--Hyper Snapshot(块业务)

------------------------------------重要说明------------------------------------ 以下部分内容来网络,部分自华为存储官方教材 具体教材内容请移步华为存储官网进行教材下载 网络引用内容无法找到原创,如有侵权请通知 ------------------------------------重要说明------------------------------------ 随着计算机技术的发展,数据备份的重要性也逐渐凸显.在最初的数据

(4.19)深入理解SQLSERVER的日志链

您真的理解了SQLSERVER的日志链了吗? 转自:https://www.cnblogs.com/lyhabc/p/3460272.html 先感谢宋沄剑给本人指点迷津,还有郭忠辉童鞋今天在QQ群里抛出的问题 这个问题跟宋沄剑讨论了三天,再次感谢宋沄剑 一直以来,SQLSERVER提供了一个非常好的管理工具:SSMS 又因为这个管理工具太好了,所有操作的简单化,以至于使我们中毒太深, 对于SQLSERVER内部的一些概念搞得不清不楚 比如这些概念:日志备份链,备份日志链,日志链,备份链,备份集

灾备建设的两个指标RTO和RPO

数据备份最重要的目的就是"恢复数据".当系统出现故障损毁时,可以通过数据备份来恢复,最大限度降低损失. ? ? ? ? 但是,系统需要进行什么程度的备份,这就需要根据实际情况来制定.这里,有两个指标可以参考: RTO:Recovery Time Objective RPO:Recovery Point Objective RTO,指的是你可以容忍的系统服务中断时间,或者说系统服务中断后,用来恢复系统服务的最大时间.如果你想要RTO时间为0,那么你就要有充裕的资金来支撑系统建设,至少需要