是否有必要在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); } } }}
如果上面的代码被autoreleasepool
删除后转换成Swift ,那么Swift是否足够聪明,知道该number
变量应该在第一个之后发布}
(就像其他语言一样)?
开满天机