我是 Objective C 的新手,在我读过的代码中注意到,有时一段代码会被包含在函数内部的大括号中。
这是做什么的?
例如……
- (BOOL) application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions {
// Load config, available via macro CONFIG
{
NSString *path = [[NSBundle mainBundle] pathForResource: @"config" ofType: @"plist"];
NSData *data = [[NSData alloc] initWithContentsOfFile: path];
self.config = [NSPropertyListSerialization propertyListWithData: data
options: NSPropertyListImmutable
format: nil
error: nil];
[data release];
}
// snip
}
最佳答案
这就是所谓的“作用域”……
在大括号内声明的变量只存在于大括号内。
想象一下:
int main( void )
{
int my_var = 3;
{
int my_var = 5;
printf( "my_var=%d\n", my_var );
}
printf( "my_var=%d\n", my_var );
exit( 0 );
}
这将打印:
my_var=5
my_var=3
关于objective-c - 如果代码包含在函数中的花括号中会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5742052/