首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么相当于Swift中的@autoreleasepool?

什么相当于Swift中的@autoreleasepool?
EN

Stack Overflow用户
提问于 2014-06-11 06:44:52
回答 3查看 17.1K关注 0票数 76

在Swift中,我注意到没有@autoreleasepool{}构造,尽管Swift确实使用了ARC。在Swift中管理自动释放池的正确方式是什么,还是出于某种原因已将其删除?

EN

回答 3

Stack Overflow用户

发布于 2015-01-05 06:17:15

仅供参考,Xcode构建了完整代码,如下所示:

代码语言:javascript
复制
autoreleasepool({ () -> () in
    // code              
})

猜想圆括号标识了函数闭包。

票数 16
EN

Stack Overflow用户

发布于 2014-06-11 06:48:54

的确有!只是在任何地方都没有真正提到它。

代码语言:javascript
复制
autoreleasepool {
    Do things....
}
票数 7
EN

Stack Overflow用户

发布于 2020-03-20 20:48:08

我在代码中使用了这种结构。此函数用于从视频URL创建缩略图。

代码语言:javascript
复制
func getThumbnailImage(forUrl url: URL) -> UIImage? {
    return autoreleasepool{ () -> UIImage in
        let asset: AVAsset = AVAsset(url: url)
        let imageGenerator = AVAssetImageGenerator(asset: asset)
        var thumbnailImage: CGImage?
        do {
            thumbnailImage = try imageGenerator.copyCGImage(at: CMTimeMake(value: 1, timescale: 60) , actualTime: nil)
            return UIImage(cgImage: thumbnailImage!)
        } catch let error {
            print(error)
        }
        return UIImage(cgImage: thumbnailImage!)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24152050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档