ios – 不清楚发布CFDictionaryRef

ios – 不清楚发布CFDictionaryRef,第1张

概述我不清楚以下内存管理含义: NSDictionary* props = (__bridge NSDictionary*) CGImageSourceCopyPropertiesAtIndex(imageSource, 0, NULL); 由于CGImageSourceCopyPropertiesAtIndex函数在名称中具有Copy,因此我拥有CFDictionaryRef并且必须将其释放.但是, 我不清楚以下内存管理含义:

NSDictionary* props = (__brIDge NSDictionary*) CGImageSourcecopyPropertIEsAtIndex(imageSource,NulL);

由于CGImageSourcecopyPropertIEsAtIndex函数在名称中具有copy,因此我拥有CFDictionaryRef并且必须将其释放.但是,由于它被转换为NSDictionary,我无法调用[props release].什么是对待这个的正确方法?

解决方法 使用CFBrIDgingrelease将所有权转移到ARC

CFDictionaryRef cfDict = CGImageSourcecopyPropertIEsAtIndex(imageSource,NulL);NSDictionary *dict = (NSDictionary *)CFBrIDgingrelease(cfDict);

否则,在完成字典后,您需要调用CFRelease.

总结

以上是内存溢出为你收集整理的ios – 不清楚发布CFDictionaryRef全部内容,希望文章能够帮你解决ios – 不清楚发布CFDictionaryRef所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1002854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存