objective-c - 仅带括号的语法是什么意思?

标签 objective-c

在一个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

这个例子演示了如何创建一个新的 block 作用域允许我们拥有同名的不同变量。您可以阅读有关范围的更多信息 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'
}

关于objective-c - 仅带括号的语法是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11760938/

相关文章:

ios - 更改 Facebook 登录按钮的外观

objective-c - Swift 如何在单行上编写语句

ios - 在 iOS 中评价应用程序

ios - 我如何知道用户是否通过 iOS 上的应用内购买取消了自动续订订阅?

ios - Xcode Storyboard 中的对象消失

objective-c - 打开个人热点时 UIViewController 乱七八糟

iphone - 自定义 tableView 标题导致单元格边框显示

ios - CIGaussianBlur 图像大小

objective-c - 在 UIScrollView 中获取 CATiledLayer 支持的 View 的图像快照

objective-c - Objective-C 中的 AES128/CBC/PKCS7padding?