运维开发网

objective-C语言 括号中的这种语法仅表示什么?

运维开发网 https://www.qedev.com 2020-04-10 08:00 出处:网络 作者:运维开发网整理
在一个 Objective-c项目中,我很惊讶地看到以下行代码 - (void)methodName { ... some code... { ... some code } { ... some code } } 内支架代表什么?他们似乎没有任何声明. 谢谢 括号创建一个新范围.范围内定义的变量在范围结束后不会保留.我
在一个 Objective-c项目中,我很惊讶地看到以下行代码

- (void)methodName
{
    ... some code...

    {
        ... some code
    }

    {
        ... some code
    }

}

内支架代表什么?他们似乎没有任何声明.

谢谢

括号创建一个新范围.范围内定义的变量在范围结束后不会保留.我个人使用它来分离出一些逻辑,使事情更容易阅读.

例1

此示例演示了缺少对在更狭义定义的范围内实例化的变量的访问.

-(void)blockTestA {
    int j = 25;

    {
        int k = 5;

        // You can access both variables 'j' and 'k' inside this block.
    }

    // You can only access the variable 'j' here.
}

例2

此示例演示了如何创建新的块作用域允许我们使用具有相同名称的不同变量.您可以阅读有关范围here的更多信息.

-(void)blockTestB {
    int j = 25;

    {
        int j = 5;
        NSLog(@"j inside block is: %i", j); // Prints '5'
    }

    NSLog(@"j outside of block is: %i", j); // Prints '25'
}
0

精彩评论

暂无评论...
验证码 换一张
取 消