OC基础:block.字面量

block 块语法,能够用block去保存一段代码,或者封装一段代码.

block 实际是由c语言实现的,运行效率非常高.

block 实际借鉴了函数指针的语法.

block

(^)(參数类型1 參数名1,參数类型2 參数名2...);

返回值类型  (^)();

1.没有參数,括号也不能省略

2.參数名能够省略

void(^myBlock1)();   无參数无返回值

void(^myBlock2)(int a,int b);   有參数无返回值

int(^myBlock3)();    无參数有返回值

int(^myBlock4)(int a,int b);   有參数有返回值

block实现

格式:

^(參数类型1 參数名1,參数类型2 參数名2....){

运行代码

};

注意{ }外面须要加;

如:myBlock1=^(){

NSLog(@"吃糖吗?");

};

block调用

myBlock1();

起别名:typedef int(^BLOCK)(int ,int );

block定义时,block块中的代码不运行,调用block的时候block块中的代码才运行.block是c语言中的函数的一种拓展.

block块内部訪问变量

1.全局变量block能够直接使用,不须要加_block修饰

2.局部变量须要加__block修饰,才干在block块内部改动

3.局部变量不加__block修饰,仅仅能使用(看),无法改动

-----------------------------------------------------------------------------------

字面量:便利的表示方法

NSNumber *number1=@100;

NSArray *array1=@[@"1",@"2",@"3"];

NSMutableArray *mArray=@[@"1",@"2",@"3"].mutableCopy;

//字典的字面量

//    :前是key值   :后是value值

NSDictionary *dict=@{@"a":@"1",@"b":@"2",@"c":@"3"};

NSMutableDictionary *mDict=@{@"a":@"1",@"b":@"2",@"c":@"3"}.mutableCopy;

时间: 03-24

OC基础:block.字面量的相关文章

OC基础第五讲--Block、数组高级、字面量

Block 1.1block与函数指针 函数: int sum(int x, int y) { retrun x + y; } 函数指针: 把上面函数原型int sum(int x, int y)中的函数名替换成(*p),即可得到一个函数指针int (*p)(int x, int y). 这个函数表示指针p指向一个函数,这个函数有两个int型参数,返回值是int类型. Block:把函数指针int (*p)(int x, int y)中的'*'换成'^'就是我们block的声明,即int (^p

第六讲 Block块语法及Block与数组的排序,ios字面量的使用(源代码上传)

1 #import <Foundation/Foundation.h> 2 3 4 #import "Student.h" 5 6 int c =200; 7 int main(int argc, const char * argv[]) { 8 @autoreleasepool { 9 /* 10 ------------------------------------- 11 定义block变量的四种方法 12 -----------------------------

block 数值排序 字面量的使用

//  创建一个block //  1.返回值 //  2.使用'^'标记一个Block,并写出Block变量 //  3.确定Block参数列表,参数名可以省略 //  4.'^' //  5.参数列表 //  6.主题部分,'{}:' //  7.在'{}'内部写具体实现 int (^myBlock)(int, int) = ^(int a, int b){ return a + b; }; int (^myBlock1)(int, int) = ^(int c, int d){ retur

js基础知识:字面量 关键字和保留字

js中的字面量概念我的理解就是:字体表面的常量 如:数字 100, 字符串  "ssss"或'ssss'  布尔值:false ,正则 以及null对象. 这些都是常量. 关键字:是已经使用的字 保留字:是没有使用已经保留起来未来用 具体有哪些,请自行上网上去查. var tet ; alert(tet); 这个例子的结果是:tet is undifine . 标示声明意思呢?? 意思就是说.tet 这个变量已经声明了,但是没有被赋予初始值.所以在以后调试的时候 再出现这样的结果,表明

oc基础知识(转)

1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouch Media Core Services Core OS -------------------- System Framework OC的类声明,定义域 OC关键字定义为  @class O-C特有的语句for(..in ..)迭代循环,其他的条件和循环语句和c一样 OC对面向对象的概述 (1)

iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误

在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握. expression:表达式assignable:赋值variable:变量redefinition:重复定义type:类型conflicting:冲突项invalid:无效的conversion:转换specifier:说明符indent:缩进operands:运算对象.操作数binary:二

OC 06 Block、数组高级

主要内容: ?.Block语法 ?.Block使? 三.Block实现数组排序 Block简介 Block:块语法,本质上是匿名函数(没有名称的函数) 标准C?面没有Block,C语?言的后期扩展版本,加?了匿名函数. C++.JS.Swift等语?,有类似语法,叫做闭包. Block语法和函数指针很相似. 回顾函数指针 函数指针(变量):存放函数地址(函数名)的指针变量. int (*p)(int x,int y) = sum; 函数指针类型:int (*)(int x,int y) 即:指向

OC基础(23)

NSArray基本概念 NSArray 遍历 NSArray排序 NSArray文件读写 NSArray 与字符串 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30p

OC基础总结

1.NSLog的使用:Foundation用于日志输出的函数 %@  输出对象的占位符,当它输出的对象的时候会调用对象description方法 %C  Unicode字符 %c  ASCII码 2.面向对象思想 1.相对于面向过程 面向过程:强调的步骤,以动词打头的 面向对象:强调完成这个事情,所需的对象 2.面向对象的好处 1.这种思维方式更加接近现实生活 2.提高代码灵活性,和可扩展性 3.提高代码的可维护性 对象: 在软件设计阶段:对象就是现实生活中一个个事物 类的产出: 类就是提取对象