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;

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

  1. OC基础:block.字面量 分类: ios学习 OC 2015-06-22 19:08 155人阅读 评论(0) 收藏

    block 块语法,可以用block去保存一段代码,或者封装一段代码. block 实际是由c语言实现的,执行效率很高. block 实际借鉴了函数指针的语法. block,在多线程.异步任务,集合遍 ...

  2. BLOCK/字面量(语法糖)OC——第六天

    1.//block ,块语法,实质是匿名函数,是对C语言中函数的扩充,扩展: //block  语法可以用来保存一段代码或者用来调用一段封装好的代码: //block  语法由于是C语言实现的,所以执 ...

  3. java基础---->string字面量的使用

    这里简单的理解一下java中关于string字面量的知识,关于字节码可以使用java自带的javap工具查看. string字面量 一.直接贴出测试的代码 A string literal alway ...

  4. 【Java基础】字面量相加的类型转换

    Java字面量的相加类型转换 1.Java 编译期间(javac),凡是字面量和常量的运算,都会先运算出结果 2.运行期当字符串池中有 String"字面量"时,Java 会直接用 ...

  5. JS基础_字面量和变量

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. JS基础二--字面量和变量

       /*       字面量,都是一些不可改变的值,       比如:1 2 3 4 5       字面量都是可以直接使用,但是我们一般不会直接使用字面量.       变量,变量可以用来保存字 ...

  7. OC基础--block

    block与函数类似:1.可以保存代码 2.又返回值 3.有形参 4.调用方式一样 block的标志:^ 一.定义一个无参无返回值的block void (^myBlock)();--1.void 代 ...

  8. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字

    缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...

  9. Scala 基础(7)—— 函数字面量和一等函数

    1. 函数字面量 在 Scala 基础(3)—— 基础类型和基础操作 中提到了函数字面量,这里具体解释函数字面量的语法. 下面展示一个具体的函数字面量,它由三部分组成: (x: Int, y: Int ...

随机推荐

  1. hdu 1205

    #include <stdio.h> int a[1005000]; int main() { int t; scanf("%d",&t); while(t-- ...

  2. Android Activity间传值

    Android中不同的Activity之间的传值方式(Main为当前Activity,Login为目标Activity) 1.使用Intent Intent intent = new Intent(M ...

  3. spring-qualifier解释

    如果一个class有两个对应的beanId,在Autowired的时候,必须指定Qualifier("指定其中一个beanId"). org.springframework.bea ...

  4. 请帮我看看这个页面,红色部份如何改才能保存到ACCess数据库中

    <% if session("shiwei_username")="" then %> <script language="java ...

  5. ubuntu 下源码安装Postgreql pgAdmin3

    一.安装 PostgreSQL 1.安装相关依赖,在终端下执行: sudo apt-get install zlib1g-dev    sudo apt-get install libreadline ...

  6. Caused by: java.lang.NullPointerException, java.lang.reflect.InvocationTargetExc

    java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ...

  7. PULL生成XML文件

    package xmlpulldemo; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...

  8. hdu 1829 基础并查集,查同性恋

    A Bug's Life Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

  9. EIGRP认证 配置 (仅仅是命令 原理自己去看书) 转自:http://blog.163.com/s_u/blog/static/13308367201111771831631/

    EIGRP认证 目的:掌握EIGRP的MD5认证 拓扑:这里IP配置我就不写出来了,应该对大家来说是非常简单的事了,就要细心一点就可以了.首先我们在R1上启用MD5认证R1(config)#key c ...

  10. 3.2 GUN as汇编(本文内容大部分引用原文,非原创)

    as86汇编仅仅用于编译内核中的boot/bootsect.s引导扇区程序和实模式下的设置程序boot/setup.s.内核中其余所有汇编语言程序(包括C语言产生的汇编程序)均使用gas来编译,并与C ...