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