我是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
}
答案 0 :(得分:10)
那叫做“范围”......
在大括号内声明的变量只存在于大括号内。
想象一下:
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
答案 1 :(得分:5)
这只是限制块中声明的变量范围的一种方法。在您的示例路径中,数据将不会在花括号外显示。