相关疑难解决方法(0)

是否有必要在Swift程序中使用autoreleasepool?

它说,在WWDC14演示文稿的第17页

使用Objective-C?还是要管理自动释放池
autoreleasepool {/*code*/}

那是什么意思?这是否意味着如果我的代码库没有任何Objective-C文件,autoreleasepool {}是不必要的?

一个相关问题的答案中,有一个例子autoreleasepool可以是有用的:

- (void)useALoadOfNumbers {
    for (int j = 0; j < 10000; ++j) {
        @autoreleasepool {
            for (int i = 0; i < 10000; ++i) {
                NSNumber *number = [NSNumber numberWithInt:(i+j)];
                NSLog(@"number = %p", number);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果上面的代码被autoreleasepool删除后转换成Swift ,那么Swift是否足够聪明,知道该number变量应该在第一个之后发布}(就像其他语言一样)?

memory-management swift

89
推荐指数
2
解决办法
3万
查看次数

标签 统计

memory-management ×1

swift ×1