c# - C# 中的 using(){...} 与 Cocoa 中的 autoreleasepool{...} 的用途相同吗?

标签 c# objective-c cocoa nsautoreleasepool

我发现了 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# also has support for the (rarely needed) manual declaration of Auto-Release Pools via the using (__autoreleasepool) syntax.

http://www.elementscompiler.com/elements/hydrogene/cocoa.aspx

C# 中的 using(){...} 与 Cocoa 中的 autoreleasepool{...} 的用途相同吗?

最佳答案

不,它们是不同的。

C#的using语句是关于资源获取和处置的。这通常是外部资源,例如文件,其中获取是打开文件,处理是关闭文件。

Objective-C 的自动释放池是为了控制内存对象的生命周期。当池被耗尽时,放置在池中的对象将被释放,对于默认池,它在事件循环的每次迭代结束时释放。

关于c# - C# 中的 using(){...} 与 Cocoa 中的 autoreleasepool{...} 的用途相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40941857/

相关文章:

c# - EF6 : Have to include in startup project?

objective-c - 如何以编程方式从 NSCustom View 中删除 NSButton?

cocoa - 如何使用红色窗口按钮检测我的窗口正在关闭?

iphone - NSSetUncaughtExceptionHandler 被第三方 SDK 劫持

c# - 上传超过 16kb 的图片 vs2010 c# asp.net

c# - 单元测试项目 Azure Functions 无法加载文件或程序集 'Newtonsoft.Json'

c# - 如何根据从 Controller 传递到 cshtml 的模型属性动态生成 Kendo UI 控件

ios - 无法使用 MFSidemenu 加载 viewController

objective-c - 这种特定的音频操作需要什么 iOS 框架

objective-c - 将 OpenGL 与 Cocoa 结合使用的最佳方式是什么?