• 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;




  • 相关阅读:
    silverlight 视频
    Win7/Vista下安装SQL Server 2005/2008后,进行附加数据库错误的解决
    IIS篇
    ARCGIS 定位篇
    sqlserver 2008 修改表结构不能保存
    更新silverlight 后 无法启动调试 未安装silverlight developer 运行时解决办法
    2点经纬度计算相对方位
    VS2010中文旗舰版在WIN7 64位操作系统下安装
    self = [super init]
    NSXMLParser XML 解析 解压
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5324056.html
Copyright © 2020-2023  润新知