Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-c中的花括号_Objective C_Ios_C_Curly Braces - Fatal编程技术网

Objective-c中的花括号

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

注意:我的问题是在检查和答案之后提出的

在一些更大的方法中,有些代码片段只希望在一段时间内处于活动状态。例如:

1) 我有一个设置UI的大方法:
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特性),您可以再次为堆栈变量使用相同的名称,因为它们在不同的范围内。此外,您在该范围内声明的变量将不会被范围外的人访问

这与内存占用无关,只与代码组织有关