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.字面量的相关文章

JS基础_字面量和变量

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript"> 7 8 /* 9 * 字面量,都是一些不可改变的值 10 * 比如 :1 2 3 4 5 11 * 字面量都是可以直接使用,但是我们一般都不会直接使用字面量 1

OC基础-Block

函数的一个重要作用:先把某一个代码存起来,你想用的时候调函数就能用了但是函数有个缺点,它不能动态定义,不能执行完一行突然定义一个函数.函数的代码 是死的,一定得在编译之前把函数写好,之前写的函数是什么,以后就是什么.这个时候,block就出现了.void (^block)() = ^{ //里面放的是代码}: 大括号代表代码块.^号意味着代码块用block存储. void (^block)() 跟 函数 void play () 很像,只是函数的名称play换成了block的名称(^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 这个变量已经声明了,但是没有被赋予初始值.所以在以后调试的时候 再出现这样的结果,表明

04_Swift2基础之类型安全和类型推测+字面量+类型别名

1. 类型安全和类型推测 1> 类型安全 Swift 是一个 _类型安全(type safe)_ 的语言.类型安全的语言可以让你清楚地知道代码要处理的值的类型.如果你的代码需要一个`String`,你绝对不可能不小心传进去一个`Int`. 由于 Swift 是类型安全的,所以它会在编译你的代码时进行 _类型检查(type checks)_ ,并把不匹配的类型标记为错误.这可以让你在开发的时候尽早发现并修复错误. 当你要处理不同类型的值时,类型检查可以帮你避免错误.然而,这并不是说你每次声明常量和

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:二