如何在 iOS 上的 Swift 中发布 CGDataProvider?

2023-11-29

我在 Swift 中有以下代码:

 func cropToAlpha(image:CGImage) -> CGImage? {
    let pixelDataProvider:CGDataProvider? = CGImageGetDataProvider(image)
    if pixelDataProvider != nil {
        let pixelData:CFData? = CGDataProviderCopyData(pixelDataProvider!)

The CGImageGetDataProvider 的文档CGDataProviderCopyData 的文档两者都说

你负责释放这个对象

Swift 编程指南讲述了去初始化但这与释放对象不同。

一些 Objective-C 的答案(例如如何在 iOS 中发布 CGImageRef)建议致电CFRelease但如果我尝试类似的事情

CFRelease(pixelDataProvider)

然后我得到编译器错误

“CFRelease”不可用:Core Foundation 对象自动进行内存管理

如何通过在 Swift 中释放生成的对象来满足 CGImageGetDataProvider 和 CGDataProviderCopyData 文档中的请求?

(注意:在网络上搜索“Swift 版本”很棘手,因为搜索结果充斥着有关 Swift 版本的页面)


你不必释放它。该文档仍然针对 Objective-C。编译器错误信息是正确的。

From 将 Swift 与 Cocoa 和 Objective-C 结合使用:

从带注释的 API 返回的 Core Foundation 对象会在 Swift 中自动进行内存管理,您无需调用CFRetain, CFRelease, or CFAutorelease自己发挥作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 iOS 上的 Swift 中发布 CGDataProvider? 的相关文章

随机推荐

  • if($variable) 究竟是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 关于PHP中的if语句 在 PHP 脚本中 像这样的 if 语句检查什么 我已经多次看到它在脚本中使用 现在我真的很想知道它 寻找 什么 它没有缺少任何东西 它只是 if 语句中的一个普通变量 我在任
  • 在asp.net中显示按月和年分组的记录

    我需要按我的 asp net 页面上显示的日期 月和年 对记录进行排序 任何想法 建议都会有帮助 这是我目前拥有的代码 table width 40 border 0 style margin left auto margin right
  • 使用 pandas 转换 Excel 样式日期

    我必须解析一个 xml 文件 该文件为我提供 Excel 样式的日期时间 例如 42580 3333333333 Pandas 是否提供了一种将该数字转换为常规数字的方法datetime object 好吧 我认为最简单的事情就是构建一个T
  • 如何修复空指针异常

    我一直在尝试修复这个空指针异常 但我不能 我知道它指向一个空对象 但我不知道如何修复它 我是 Java 编程的初学者 所以如果这是一个愚蠢的问题 请不要生气 这是我的代码 import android app Activity import
  • 是漂亮计数器惯用语的错误还是格式不正确的静态订单惨败?

    以下代码在 clang 中崩溃 x86 64 pc linux gnu 上的版本 5 0 0 3 16 04 1 但在 gcc 9 2 0 中运行良好 struct Registry static int registerType int
  • 文件发布到文件系统后运行 Target

    我正在尝试创建发布配置文件 它将所有已发布的文件复制到各个文件夹 不幸的是我读到不可能直接通过publishUrl建议发布到一个文件夹并从中复制所有文件 我设法编写了复制目标功能 但目标运行的顺序是错误的 我尝试通过 构建 gt 发布 We
  • 从 ASP.NET MVC 3 开始,MicrosoftAjax.js、MicrosoftMvcAjax.js 和 MicrosoftMvcValidation.js 是否已过时?

    Are MicrosoftAjax js MicrosoftMvcAjax js and MicrosoftMvcValidation js从 ASP NET MVC 3 开始已过时 我在网上找不到太多关于此的信息 但从我读到的内容来看 这
  • 来自 bash shell 的 XMLA/SOAP 命令

    我需要从 bash shell 中调用 icCube 的管理 API 发送 SOAP 命令的最简单方法是什么
  • url 检查器 VBA,重定向时显示重定向的 url

    我对 EXCEL VBA 很陌生 我有点困于寻找一种方法来创建一个宏来显示 url 是否仍然处于活动状态 200 ok 或者可能会被重定向 如果是这样 我想知道到什么 URL 当它根本不起作用时 则返回正确的代码以及 URL 不起作用的原因
  • 使用 VBA 删除数字周围的文本

    我需要从单元格内的数字中删除所有文本 然后将两个数字拆分到两个单元格中 并将格式设置为数字 而不是文本 该单元格包含以下格式的文本 数字 between 150 000 and 159 999 per annum between 60 an
  • 如何在SQL Server中将XML数据转换为行列数据

    我有一个要求 数据库中有 XML 数据 我需要从数据库中以行和列的形式提取这些数据 我的 XML 就像
  • Hibernate Native SQL 映射到带有选择示例的实体

    我尝试创建本机 SQL 查询并使用参数映射到实体类 但失败了 return public List
  • iPhone 中的 HttpBasicAuthentication

    在我的 iPhone 应用程序中 我试图在 iPhone 上显示来自我的服务器的图像 这需要授权 我正在尝试使用 NSURLConnection 来获取图像 但它并没有要求我提供用户凭据 即它根本不会使用 didReceiveAuthent
  • 用于在 R 中访问 Cassandra 数据库的包

    我努力了R卡桑德拉 and RJDBC但不幸的是 这些绑定似乎仅适用于旧的 Cassandra 1 x Cassandra 2 x 中是否有任何绑定R语言 这不是真的 当前版本RJDBC与 Cassandra 2 X 配合使用 下载具有 C
  • 如何将用户输入限制为 DataGridView 中的几个值

    我需要想出一种方法来限制用户输入除1 or 2在我的 dgv 的专栏中 我有它 因此用户只能输入数字 但我需要进一步的限制来满足FOREIGN KEY限制 有任何想法吗 当前验证到位 Private Sub dgvCategories Ed
  • 在 R Shiny 的数据表中添加工具提示

    我正在尝试使用 JS 脚本添加工具提示attr函数 一些编写的脚本没有给出所需的结果 为数据表的第一列添加工具提示 由于我是新的 JS 脚本 因此无法调试错误 任何人都可以建议我为什么下面的代码没有给出我正确的结果 这是一段代码 libra
  • 如何用手指移动 OpenGL 方块?

    其实我有一个申请安卓1 5使用 GLSurfaceView 类在屏幕上显示一个简单的正方形 我想学习如何添加新功能 即移动用手指触摸的方块的功能 我的意思是 当用户触摸方块并移动手指时 方块应该粘在手指上 直到手指释放屏幕 任何教程 代码示
  • Angular 2 验证与子组件一起

    在父组件内我有一个子组件 两者都有其必填字段 最后 仅当两个组件都有效时 我才需要启用提交按钮 在这种情况下 所有必填字段均已填写 我怎样才能做到这一点 特别是使用模板驱动的验证 种子代码 父组件 Component selector pa
  • Internet Explorer 11 RGBA 拒绝工作

    我正在使用 IE 11 它拒绝使 rgba 在我的页面上工作 而 rgba 在某些网站上工作 我不明白为什么 My page note the rgba underlined with red 一些互联网页面 rgba 工作正常 显然 IE
  • 如何在 iOS 上的 Swift 中发布 CGDataProvider?

    我在 Swift 中有以下代码 func cropToAlpha image CGImage gt CGImage let pixelDataProvider CGDataProvider CGImageGetDataProvider im