问题标签 [cftypes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1194 浏览

ios - ios 阻止潜在的内存泄漏

我不熟悉 CFTypes(除了知道它们是什么)。这是我从互联网上获得的代码,我不得不费力地让它在 ARC 中工作。我收到了潜在的泄漏警告,但不知道如何解决。建议?

0 投票
1 回答
1945 浏览

ios - 使用 CFTypeRef 和 A​​RC 时出错

我基本上按照本教程进行操作,很快就意识到该项目无法编译,因为我使用的是 ARC。我设法使用__bridge(>.>) 抑制了所有错误,但我仍然收到一条错误消息,并且我设法阅读了这个堆栈问题,但不明白如何将解决方案应用于我的问题。

基本上给我问题的方法如下所示:

0 投票
2 回答
1191 浏览

iphone - 如何使用 CFMutableArray

我正在使用 AVFoundation 框架读取视频文件并将图像缓冲区作为 CMSampleBuferRef,我使用 CFArrayAppendValue() 函数在 CFMutableArrayRef 中添加了缓冲区。

但是如果我想从那个数组中检索,有什么办法吗?

CFMutableArrayRef的 Apple 文档没有提供从数组中检索的方法。

0 投票
1 回答
688 浏览

nsmutabledictionary - 如何在 NSMutableDictionary 中存储 CoreFoundation 类型引用?

如何在 NSMutableDictionary 中存储 CoreFoundation 类型引用?我如何知道特定类型是否为 CFType?(比如说CFString)

0 投票
2 回答
648 浏览

ios - NSArray 和 NSMutableArray 的 CFType?

我们正在努力使固定数组(及其所有固定组件,在几个级别)可变,似乎唯一的方法是遍历嵌套固定数组中的所有级别并创建可变对象使用arrayWithArraymutableCopy

做了一些研究,我发现在使用函数 时两者NSArrayNSMutableArray返回相同的值(int 19) 。CFgetCFType()

附上示例代码

为什么,这两种结构类型返回相同的CFTypeID?这是否意味着 的可变性NSMutableArray隐藏在 的不透明定义中CFMutableArrayRef

0 投票
0 回答
160 浏览

nsdata - (__bridge__transfer NSData*) 返回 _NSCFArray 而不是 NSData

我有一些用于钥匙串管理的代码。SecItemCopyMatching方法以名为foundDict的 (CFTypeRef *) 类型返回结果,该结果作为对 SecItemCopyMatching 方法的引用传递。然后我使用(__bridge_transfer NSData*)从 CFTypeRef* 桥接到 NSData* (到“结果”变量)。所以我期待结果变量当然是 N​​SData 类型,因为我是这样声明的,并使用桥将 CFTypeRef* 转换为 NSData*。但是当我想使用 NSString 方法将 NSData 转换为字符串时:initWithBytes:length:encoding,我得到一个运行时错误,告诉我“ [__NSCFArray bytes]: unrecognized selector set to instance..

当我在 Xcode 中查看调试器时,我可以看到它为什么会抱怨,因为在“bridge”语句之后,“result”变量已从 NSData 转换为 __NSCFArray。而且由于 __NSCFArray 是一种数组类型,它不支持称为“字节”的方法,因此运行时会抱怨

所以,我不明白为什么在内部发生这种转换是从 NSData 到 __NSCFArray 最重要的是,如何将 CFTypeRef 类型的“SecItemCopyMatching”返回的结果转换为 NSData。有趣的是,我遵循 Apple 在KeychainWrapper 示例代码的钥匙串包装示例中建议的完全相同的代码

有什么想法吗?

我附上了调试器的图像:

在此处输入图像描述

0 投票
2 回答
106 浏览

c - CFNumberFormatterCreateStringWithNumber int 问题

我发现CFNumberFormatterCreateStringWithNumber. 我使用了这个 Apple 代码示例

我在使用 INT 值(而不是浮点数)时看到的错误是:

0 投票
0 回答
186 浏览

c++ - 使用 std::unique_ptr<…> 管理 CoreFoundation CFType 资源

我正在使用 astd::unique_ptr来管理 CoreFoundation 框架中的不透明类型。CoreFoundation 类型(又名CFTypes)必须手动释放,所以我的std::unique_ptr类型配方如下所示:

…这种安排让我不再手动释放CFType资源,例如:

......到一个自动发布方案,如下所示:

……这意味着我最终释放了CFType我创建的每一个实例CFRelease(…)——从不使用可能存在的任何专门的发布函数CFTypeCGColorSpaceRelease(…)在上面的示例片段中)。

在我对 CoreFoundation 文档以及CoreGraphics 等CFType基于框架的文档的细读中,我看到的每个自定义发布器函数都被写成“相当于”(例如)……我的问题是,是否有任何例外到这个普遍性?换句话说,在任何和所有实例上使用它是否安全,就像我在这种情况下所做的那样?CFReleaseCFRelease(…)CFTypestd::unique_ptr