oc 代码块的使用

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

int (^max)(int,int);//定义代码块,类似c的函数指针

typedef void (^SayHello)(); //指定一个类型的代码块;

int main(int argc, char * argv[]) {
    //通过函数闭包的方式实现代码块
    max=^(int a,int b){
        return a>b?a:b;
    };
    //调用代码块
    printf("max is %d\n",max(12,13));

    //定SayHello类型的代码块
    SayHello sh=^(){
        printf("Hello oc block\n");
    };

    sh();
}
时间: 2024-10-29 15:59:26

oc 代码块的使用的相关文章

OC 代码块

//代码块:普通代码块  构造代码块  静态代码块 //一.定义一个普通代码块 //定义方式1  返回类型 (^代码块名称) (参数类型) = ^(参数类型 参数名){}; //1.无返回类型的代码块 参数类型可为空也可为其他类型 void (^my_block1) (void) = ^(void) { NSLog(@"hello world"); }; my_block1(); void (^my_block) (int) = ^(int number) { number = 1;/

[转]iOS代码块Block

代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返回值,特殊地,Block还可以保存一段代码,在需要的时候调用,目前Block已经广泛应用于iOS开发中,常用于GCD.动画.排序及各类回调 注: Block的声明与赋值只是保存了一段代码段,必须调用才能执行内部代码 Block变量的声明.赋值与调用 Block变量的声明 Block变量的声明格式为: 返回值类型(^Block名字)(参数列表); /

代码块和并发性

代码块对象: 通常称:代码块,是对C语言的扩展,,除了函数中的代码,其害包含变量绑定.代码块有时也被称为闭包(closure).两种绑定类型:自动型和托管型.自动型使用的是栈中的内存,而托管绑定是通过堆创建的. 代码块和函数指针: 代码块特征:1.返回类型可以手动声明也可以由编译器推导.2.具有指定类型的参数列表.3.有用名称. 声明一个函数指针:void(*my_func)(void); 这是很基础的函数指针,它没有参数和返回结果,只要把 * 替换成 ^ 就可以把它转换成一个代码块的定义了.如

java学习中,匿名函数、构造方法、构造代码块、构造方法中调用构造方法(java 学习中的小记录)

java学习中,匿名函数.构造方法.构造代码块.构造方法中调用构造方法(java 学习中的小记录) 作者:王可利(Star·星星) 匿名函数 匿名对象:没有名字的对象 匿名对象使用的注意点: 1.一般不会用匿名对象给属性赋值,无法获取属性值,每次new 都是一个新的对象. 2.匿名对象永远都不可能是一个对象. 如:person new().name = "星星":是不行的 匿名对象的好处:书写简单. 匿名对象使用的场景: 1.如果一个对象调用一个方法一次的时候,就可以用匿名对象来调用.

一篇文章看懂iOS代码块Block

iOS代码块Block 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返回值,特殊地,Block还可以保存一段代码,在需要的时候调用,目前Block已经广泛应用于iOS开发中,常用于GCD.动画.排序及各类回调 注: Block的声明与赋值只是保存了一段代码段,必须调用才能执行内部代码 Block变量的声明.赋值与调用 Block变量的声明 Block变量的声明格式为: 返回值类型(^Bl

修饰符-包-内部类-代码块执行顺序

1.访问权限修饰符     从大到小的顺序为:public--protected--default--private     private--只能在同一类中使用;     default--不用写出来,默认不加.可以被同一包中的类使用     protected--可以被不同包的子类使用     public--可以被不同包的其它类使用 2.各种修饰符的修饰对象(可修饰哪些:类/接口/方法/属性)(多个修饰符连用是可以没有顺序的!)     1)访问权限修饰符:public/default--

iOS学习之代码块(Block)

代码块(Block) (1)主要作用:将一段代码保存起来,在需要的地方调用即可. (2)全局变量在代码块中的使用: 全局变量可以在代码块中使用,同时也可以被改变,代码片段如下: 1 int local = 1;//注意:全局变量 2 void (^block0)(void) = ^(void){ 3 local ++; 4 NSLog(@"local = %d",local); 5 }; 6 block0(); 7 NSLog(@"外部 local = %d",lo

[Java基础]代码块

1. 2.构造代码块 public class CBlock { public CBlock()//构造函数 { i=300;//构造函数中初始化 } public int i=100;//显示初始化变量 {//构造代码块 i=200;//构造代码块中初始化变量 } } 从以下几点理解以上代码: java编译器编译一个java源文件的时候,会把成员变量的声明语句提前至一个类的最前端. 成员变量的初始化工作其实都在在构造函数中执行的. 一旦经过java编译器编译后,那么构造代码块的代码块就会被移动

Java(静态)变量和(静态)代码块的执行顺序

本文讨论Java中(静态)变量.(静态)代码块的执行顺序 首先创建3个类: 1.Foo类,用于打印变量 public class Foo { public Foo(String word) { System.out.println(word); } } 2.Parent类 public class Parent { static Foo FOO = new Foo("Parent's static parameter"); Foo foo = new Foo("Parent'