Objective-c中的花括号
注意:我的问题是在检查和答案之后提出的 在一些更大的方法中,有些代码片段只希望在一段时间内处于活动状态。例如: 1) 我有一个设置UI的大方法:Objective-c中的花括号,objective-c,ios,c,curly-braces,Objective C,Ios,C,Curly Braces,注意:我的问题是在检查和答案之后提出的 在一些更大的方法中,有些代码片段只希望在一段时间内处于活动状态。例如: 1) 我有一个设置UI的大方法:UILabel的大小、颜色、位置、UIView的手势识别器等。了解上述内容后,这样做是否有意义: - (void)setUI { //setting other UI elements { // Add the Swipe Gesture to the swipeUpView UISwipeGestureR
UILabel的
大小、颜色、位置、UIView的
手势识别器等。了解上述内容后,这样做是否有意义:
- (void)setUI
{
//setting other UI elements
{
// Add the Swipe Gesture to the swipeUpView
UISwipeGestureRecognizer *swipeGestureUp = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(animeViewWithSwipeGesture)];
swipeGestureUp.direction = UISwipeGestureRecognizerDirectionUp;
[_swipeUpView addGestureRecognizer:swipeGestureUp];
}
// setting other UI elements
}
- 基于上述示例,这是降低应用程序内存占用的有效方法吗李>
- 是否与
有任何关系@autoreleasepool{}
@autoreleasepool{}块非常类似,但也在开始时声明了一个autorelease池,并在结束时将其耗尽,因此从内存占用的角度来看可能更好,因为在那里声明的所有autorelease对象在退出该作用域时都将被释放。大括号所做的只是定义一个新的作用域,因此,您可以使用与其他外部范围变量相同的名称定义新变量 @autoreleasepool{}块非常类似,但也在开始时声明一个autorelease池,并在结束时将其耗尽,因此从内存占用的角度来看可能更好,因为在那里声明的所有autorelease对象在退出该作用域时都将被释放 基于上述示例,这是降低应用程序内存占用的有效方法吗 不,他们甚至没有亲戚关系。它们与
@autoreleasepool
都不相关-使用大括号是打开新范围的简单C方式
基于上述示例,这是降低应用程序内存占用的有效方法吗
不,他们甚至没有亲戚关系。它们与autoreleasepool也没有关系-使用大括号是打开新范围的普通C方式。这只是普通C语法。您可以使用它来打开其他人提到的新范围。这意味着(这是C特性),您可以再次为堆栈变量使用相同的名称,因为它们在不同的范围内。此外,您在该范围内声明的变量将不会被范围外的人访问
这与内存占用无关,只与代码组织有关。它只是简单的C语法。您可以使用它来打开其他人提到的新范围。这意味着(这是C特性),您可以再次为堆栈变量使用相同的名称,因为它们在不同的范围内。此外,您在该范围内声明的变量将不会被范围外的人访问 这与内存占用无关,只与代码组织有关