OC学习日记017(一)代码块

原创 2016年08月29日 09:33:06

代码块

前言

大多书本上的代码块讲解非常的累赘和复杂,其实代码块我们可以把它理解为C里面的函数,就是把一些代码封装起来,使它们可以模块化使用。

代码块(block)的声明与实现

代码块的作用

block 允许开发者在两个对象之间任意语句当作数据进行传递

 block 使用了与一个函数相同的机制,可以像声明一个函数一样来声明block;可以像定义一个函数的方法一样来定义一个block,也可以讲block当做对象来调用

代码块的声明:

 返回值类型(^代码块的名称)(参数列表);

代码块的实现:

 代码块的名字 =^(参数列表)(代码块的行为主体)     
    //代码块的声明:
    void(^aBlock)(NSString *x);
    //代码块的实现:
    aBlock = ^(NSString *x){
        NSLog(@"x = %@",x);
    };
    //代码块的调用
    aBlock(@"Rick");    
    double(^getArea)(double width, double height);
    getArea = ^(double width, double height){
        double area=width*height;
        return area;
    };
    double area = getArea(5,10);
    NSLog(@"area =%.2f",area);

在block中使用全局变量和局部变量

全局变量和局部变量的作用在于我们想要调用一个在某个方法或循环、函数里面的一个变量时,我们可以根据需要将它定义为全局或局部变量,使它可以在方法执行完毕后仍然可以被调用。
#import "ViewController.h"
@interface ViewController ()
@end
int global =100;
@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    //void(^myBlock)()
    //myBlock =^(){};
    //等价于
    void(^myBlock)()=^(){
        global++;
        NSLog(@"global = %d",global);
    };
    myBlock();
    //局部变量
    __block int local =100;
    void(^myBlock2)()=^(){
        local++;
        NSLog(@"local = %d",local);
    };
    myBlock2();
    }
@end
版权声明:本文为博主原创文章,未经博主允许不得转载。

Xcode代码块功能

Xcode代码快功能我们在开发的时候会用到很多常用的代码,比如UITableView的代理,一般情况下我们要么自己敲要么复制粘贴,但是Xcode有一个功能,可以用一行代码敲出你预设的一段代码设置代码块...
  • u013263917
  • u013263917
  • 2016年04月21日 18:03
  • 1220

第十四篇:OC中block存储代码块的定义与应用

1.如何定义block变量,形式:返回值类型 (^block变量名)(参数) 》形式一求和的block变量: int (^sumBlock)(int , int ) ; 》形式二:void (^voi...
  • u010372095
  • u010372095
  • 2015年09月14日 20:14
  • 967

Xcode 【Xcode中关于自定义代码块的使用】

在Xcode的右下角,有一个两个大括号组成的图标,这个地方就是自定义代码块了。 如,下图中就是一个for循环的系统自定义代码块,将其拖入到代码区内,就能直接使用,非常方便。 下面就是将代码...
  • Felicity294250051
  • Felicity294250051
  • 2015年10月13日 15:18
  • 4032

OC基础教程10-代码块和并发性

代码块,一块代码,一个简单的匿名函数体。目标理解代码块
  • y624418775
  • y624418775
  • 2015年09月21日 16:45
  • 622

学习日记-html5

已掌握:学习并使用过HTML, CSS, 但并不熟练,特别是css常用效果了解但对于不常用的能实现的效果不清晰,html的各种标签除常用部分,其他在使用时需要去查询. 今日学习:html5 发展,与...
  • trch1989
  • trch1989
  • 2017年02月06日 16:50
  • 177

黑马程序员——OC中的block:代码块

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
  • Atelas_Leo
  • Atelas_Leo
  • 2015年10月11日 21:18
  • 293

linux学习日记!!

一,用户的理解 在系统中用户储存为若干字符串+若干个系统配置文件 联系到的配置文件: /etc/passwd        用户信息 /etc/shadow        用户认证信息 /e...
  • SjmMx1314aini
  • SjmMx1314aini
  • 2017年02月13日 00:04
  • 138

OC中的代码块

代码块是将一块代码像对象一样对待,并且传递给其他方法或函数。代码块支持在代码中定义函数对象 //代码块的声明和实现     void(^aBlock)(NSString *x);   ...
  • Shaw_7
  • Shaw_7
  • 2016年08月24日 17:53
  • 253

2016年寒假学习日记

svn配置管理 mock server 创建测试服务 junit测试 eclipse 插件开发 osgi框架 java bean和oracle type:公司实现,type编程http://blog....
  • xdyzyh
  • xdyzyh
  • 2017年02月20日 21:12
  • 167

OC之代码块

block block 允许开发者在两个对象之间将任意语句当做数据进行传递 block 使用了与一个函数相同的机制:可以像声明一个函数一样来声明一个block; 可以像定义个函数的...
  • qq_35757299
  • qq_35757299
  • 2016年08月24日 17:12
  • 159
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC学习日记017(一)代码块
举报原因:
原因补充:

(最多只允许输入30个字)