在Swift中,我注意到没有@autoreleasepool{}
构造,尽管Swift确实使用了ARC。在Swift中管理autoreleasepool的正确方法是什么?或者出于某种原因删除了它?Swift中@autoreleasepool的等价物是什么?
回答
对此进行了详细的WWDC 2014 session video 418号解释“改善你与仪器应用程序”,您也可以下载一个PDF。
但在短,语法是:
autoreleasepool {
/* code */
}
重要的是要注意''**必须**与'autoreleasepool'在同一行,否则你必须把它包装在'()'中。那*真的*让我老实说... – Erik
@SiLo真的吗?这很糟糕。你应该提交一个错误报告。 –
@AbhiBeckert @SiLo这不是一个错误。 'autorelease'是一个将闭包作为参数的函数。这是一个简短的作为最后一个参数的语法的例子。 –
还有!这在任何地方都没有提到。
autoreleasepool {
Do things....
}
仅供参考,Xcode中构建完整代码如下:
autoreleasepool({() ->() in
// code
})
猜测括号标识功能关闭。
不确定为什么有人反对这个评论,因为他指出,尽管swift1.2需要将代码封装在闭包中 – bolnad
- 1. 在swift中这个陈述的等价物是什么?
- 2. Swift 3中Pip(Python)的等价物是什么?
- 3. 什么是Swift for AudioFileOpenURL中kAudioFileReadPermission的等价物?
- 4. 什么是android中的dataWithContentsOfURL等价物?
- 5. RDFlib中rdf:ID的等价物是什么?
- 6. Monotouch中的CGPDFDocumentGetCatalog等价物是什么?
- 7. 什么是C++中的instanceof等价物?
- 8. 什么是VC7中的strtok_s等价物?
- 9. jquery中Ajax.updater的等价物是什么?
- 10. 什么是JSP中的sendmail等价物?
- 11. jQuery中Class.create()的等价物是什么?
- 12. python中'gem'的等价物是什么?
- 13. 什么是MSTest中MbUnit.Framework.RowAttribute的等价物?
- 14. JQuery中innerHTML的等价物是什么?
- 15. WinRT中SecureString的等价物是什么?
- 16. java中fopen_s()的等价物是什么?
- 17. 什么是perl中$ _的php等价物?
- 18. Bindingsource中EOF的等价物是什么?
- 19. 什么是Java中的“ByRef”等价物?
- 20. java中cin.ignore()的等价物是什么?
- 21. 什么是C#中的vbNullChar等价物?
- 22. Python中imadjust的等价物是什么?
- 23. CoreFoundation中NSHomeDirectory()的等价物是什么?
- 24. 什么是Silverlight中的OnRender等价物?
- 25. 什么是GraphicsMagick中的setCompression()等价物?
- 26. C#中bigint的等价物是什么?
- 27. C#中TreeBidiMap的等价物是什么?
- 28. C#中memset的等价物是什么?
- 29. 什么是Ruby中的“sys.stdout.write()”等价物?
- 30. Bash中%%〜nxD的等价物是什么?
也许它只是没有发布给我们(并且实现了一个自定义的ObjC桥很容易) –
也相关和感兴趣:“是否有必要在Swift程序中使用autoreleasepool? http://stackoverflow.com/questions/25860942/is-it-necessary-to-use-autoreleasepool-in-a-swift-program?rq=1 –