所以我在我正在学习的书上有这段代码。这个独立的{}
实际上做了什么?
self = [super initWithImageNamed:@"character.png"];
{
self.name = playerName;
self.zPosition = 10;
}
这与
不同self = [super initWithImageNamed:@"character.png"];
self.name = playerName;
self.zPosition = 10;
答案 0 :(得分:2)
这只是作用域,你发布的2段代码没有区别,但是你可以在花括号中声明一个短暂的变量,并将其范围扩展到那几行代码。
{
int x = 5;
}
NSLog("%d", x); //error
int x = 10; //legal
第一个x变量在卷曲结束后超出范围,因此该变量将被清除。它不是常用的功能,但可以用于确定某些变量的范围。你可以把它想象成一个if或while块,没有任何规定可以运行一次。
答案 1 :(得分:1)
凯文说。更确切地说,{}
包围的一组语句可以在单个语句的任何位置使用。编码时,例如:
if (x == y) {
a = b;
}
您只是将此规则应用于以下基本结构:
if (<test>) <statement>
将{ <statement_list> }
替换为<statement>
。
同样使用for
和do
等等。
答案 2 :(得分:1)
大括号定义了一个局部范围。它可以简单地用于代码可读性,或者也可以用它来限制局部变量的范围:
For example:-
-(void)yourMethod
{
{
NSString *str=@test;
}
{
NSString *str=@testing;
}
}
所以在上面你可以在两个范围内定义两个同名的局部变量。这是使用独立的花括号。