设为首页 加入收藏

TOP

Objective-c中的Block(块)详解(二)
2015-01-22 21:34:44 来源: 作者: 【 】 浏览:129
Tags:Objective-c Block 详解
mparetor, Result ==> -1. use Comparetor, Result ==> 123. use Comparetor, Result ==> 1.

块使用上下文变量

块代码也可以使用其所在范围的变量,但是块代码中不能修改该变量的值或者引用, 例如块所在函数的变量、类的成员变量。如果需要在块代码中修改变量值,可以使用__block定义变量。示例如下 :

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        // 使用上下文变量
        int valueInMain = 222 ;
        
        void (^printValue)() = ^() {
            NSLog(@"使用函数上下文的变量(不能修改) : %i.", valueInMain) ;
        } ;
        printValue();
        
        __block int anInteger = 42;
        void (^testBlock)(void) = ^{
            anInteger = 100;
            NSLog(@"使用__block声明的变量(可以修改) : %i", anInteger);
        };
        testBlock();
        
    }
    return 0;
}

输出如下 :

使用函数上下文的变量(不能修改) : 222.
使用__block声明的变量(可以修改) : 100

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Objective-c学习笔记―― 基础内容 下一篇C语言的外部变量extern

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: