问题标签 [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.
ios - ios 阻止潜在的内存泄漏
我不熟悉 CFTypes(除了知道它们是什么)。这是我从互联网上获得的代码,我不得不费力地让它在 ARC 中工作。我收到了潜在的泄漏警告,但不知道如何解决。建议?
iphone - 如何使用 CFMutableArray
我正在使用 AVFoundation 框架读取视频文件并将图像缓冲区作为 CMSampleBuferRef,我使用 CFArrayAppendValue() 函数在 CFMutableArrayRef 中添加了缓冲区。
但是如果我想从那个数组中检索,有什么办法吗?
CFMutableArrayRef的 Apple 文档没有提供从数组中检索的方法。
nsmutabledictionary - 如何在 NSMutableDictionary 中存储 CoreFoundation 类型引用?
如何在 NSMutableDictionary 中存储 CoreFoundation 类型引用?我如何知道特定类型是否为 CFType?(比如说CFString)
ios - NSArray 和 NSMutableArray 的 CFType?
我们正在努力使固定数组(及其所有固定组件,在几个级别)可变,似乎唯一的方法是遍历嵌套固定数组中的所有级别并创建可变对象使用arrayWithArray
或mutableCopy
。
做了一些研究,我发现在使用函数 时两者NSArray
都NSMutableArray
返回相同的值(int 19) 。CFgetCFType()
附上示例代码
为什么,这两种结构类型返回相同的CFTypeID
?这是否意味着 的可变性NSMutableArray
隐藏在 的不透明定义中CFMutableArrayRef
?
nsdata - (__bridge__transfer NSData*) 返回 _NSCFArray 而不是 NSData
我有一些用于钥匙串管理的代码。SecItemCopyMatching方法以名为foundDict的 (CFTypeRef *) 类型返回结果,该结果作为对 SecItemCopyMatching 方法的引用传递。然后我使用(__bridge_transfer NSData*)从 CFTypeRef* 桥接到 NSData* (到“结果”变量)。所以我期待结果变量当然是 NSData 类型,因为我是这样声明的,并使用桥将 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 示例代码的钥匙串包装示例中建议的完全相同的代码
有什么想法吗?
我附上了调试器的图像:
c - CFNumberFormatterCreateStringWithNumber int 问题
我发现CFNumberFormatterCreateStringWithNumber
. 我使用了这个 Apple 代码示例:
我在使用 INT 值(而不是浮点数)时看到的错误是:
c++ - 使用 std::unique_ptr<…> 管理 CoreFoundation CFType 资源
我正在使用 astd::unique_ptr
来管理 CoreFoundation 框架中的不透明类型。CoreFoundation 类型(又名CFTypes
)必须手动释放,所以我的std::unique_ptr
类型配方如下所示:
…这种安排让我不再手动释放CFType
资源,例如:
......到一个自动发布方案,如下所示:
……这意味着我最终释放了CFType
我创建的每一个实例CFRelease(…)
——从不使用可能存在的任何专门的发布函数CFType
(CGColorSpaceRelease(…)
在上面的示例片段中)。
在我对 CoreFoundation 文档以及CoreGraphics 等CFType
基于框架的文档的细读中,我看到的每个自定义发布器函数都被写成“相当于”(例如)……我的问题是,是否有任何例外到这个普遍性?换句话说,在任何和所有实例上使用它是否安全,就像我在这种情况下所做的那样?CFRelease
CFRelease(…)
CFType
std::unique_ptr