I was surprised to see in a objective-c project, the following line codes
- (void)methodName
{
... some code...
{
... some code
}
{
... some code
}
}
What does the inner brackets stand for ? They seems not be preceded by any statement.
thanks
The brackets create a new scope. Variables defined within the scope will not persist after the end of the scope. I personally use this to separate out bits of logic to make things easier to read.
Example 1
This example demonstrates the lack of access to variables instantiated inside of a more narrowly defined scope.
Example 2
This example demonstrates how creating a new block scope allows us to have different variables with the same name. You can read more about scope here.