我在C#中发现了using(){}
- >
Uses of "using" in C#
我知道autorelease{}
与using(){}
不同,因为cocoa使用ARC而C#使用GC。 - >
Is it necessary to use autoreleasepool in a Swift program?
我只想向那些使用过两者的人确认,如果他们确实服务于同一目的。
编辑:我找到了第三方C#编译器,它似乎将这些想法结合在一起。
RemObjects C#还通过using(__autoreleasepool)语法支持(很少需要)自动释放池的手动声明。
http://www.elementscompiler.com/elements/hydrogene/cocoa.aspx
C#中的using(){...}
是否与Cocoa中的autoreleasepool{...}
具有相同的用途?
答案 0 :(得分:3)
不,他们是不同的。
C#的使用声明是关于资源获取和处置的。这通常是一个外部资源,例如文件,其中获取正在打开文件,处理正在关闭它。
Objective-C的自动释放池是关于控制内存对象的生命周期。在池耗尽时放置在池中的对象,对于默认池,在事件循环的每次迭代结束时释放该对象。