在 CFMutableDictionary 中存储 C 结构体

2024-01-28

由于 Core Foundation 中没有与 NSValue 对应的对象,我们该如何将 C 结构体存储在 CFMutableDictionary 中呢?


首先,您可以按原样将 NSvalue 放入 CFMutableDictionary 中,因此答案是“使用 NSValue”。但我认为你的其余问题是“不使用任何 Cocoa 对象”。在这种情况下,只需创建一个非保留 CFMutableDictionary,然后您可以将任何您想要的指针放入其中。看“定义自定义集合回调” http://developer.apple.com/library/ios/#DOCUMENTATION/CoreFoundation/Conceptual/CFCollections/Articles/creating.html#//apple_ref/doc/uid/20001132-101215-CHDEBBDB一些示例代码。我经常使用这些。

请记住,这些仍然必须是指针,因此您必须在堆上分配结构,而不是堆栈。这意味着内存管理现在是您的问题。当然,您可以创建一组自定义回调来执行您想要的任何操作,因此,如果您使用 boost 或其他具有自己的引用计数系统的东西,您仍然可以使用 CFMutableDictionary 来实现。

当然,您可以用一个小数据对象替换该结构。这通常容易得多。但不同的问题需要不同的解决方案。

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

在 CFMutableDictionary 中存储 C 结构体 的相关文章

随机推荐

  • 下一个更高/更低的 IEEE 双精度数

    我正在做高精度的科学计算 在寻找各种效果的最佳表示时 我不断想出想要获得下一个更高 或更低 可用双精度数的理由 本质上 我想要做的是将 1 添加到 double 的内部表示中的最低有效位 困难在于 IEEE 格式并不完全统一 如果要使用低级
  • 如何在反应传单中制作椭圆形?

    我想在反应传单中制作一个椭圆形 我已经检查过这个问题如何在react leaflet中制作一个椭圆形 https stackoverflow com questions 49089011 how can one make an ellips
  • Lombok 和 Jackson - 冲突/不明确的属性名称定义

    我收到一条警告消息 com fasterxml jackson databind JsonMappingException Conflicting ambiguous property name definitions implicit n
  • 使用随机森林的 AUC 基特征重要性

    我正在尝试使用随机森林和逻辑回归来预测二元变量 我的类别严重不平衡 Y 1 的大约 1 5 随机森林中的默认特征重要性技术基于分类准确性 错误率 这已被证明对于不平衡类来说是一个不好的衡量标准 请参阅here http www biomed
  • 为 mac ruby​​ 开发设置 .emacs 文件

    我在 Mac 上的 emacs 中加载 ruby 模式时遇到困难 emacs 文件位于 emacs 我已经向其中添加了几个命令 许多命令是从该站点粘贴的 但似乎没有一个被加载 有什么建议吗 我不确定文件是否未加载或者命令语法错误 我所需要的
  • 抛出“std::out_of_range”实例后调用终止

    我绝对是编程初学者 我在构建以下代码时遇到此错误 error terminate called after throwing an instance of std out of range what vector M range check
  • 发行说明,有什么用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • windows下修改ip地址的脚本

    我使用计算机通过以太网与硬件进行通信 为了与此设备通信 我将 IP 设置为 192 168 0 11 将子网掩码设置为 255 255 255 0 将 IPv4 的默认网关设置为 192 168 0 1 为了使用互联网 我通过控制面板选择
  • 如何将几何数据字段显示为文本

    我将 DELPHI 与 ADO 和 SQL Server 2014 一起使用 在我们的数据库表中 有一个用于几何数据的空间列 我们可以在该字段中读取和写入数据 更多信息如下 https learn microsoft com de de s
  • 找不到 ios 文档的 /var/mobile/applications 目录

    我正在尝试在连接到 xcode 的 iPad 设备上运行发布版本以进行调试 我不确定 但猜测当我这样做时 文档目录最终会出现在我的本地计算机上的某个位置 而不是在 iPad 上 就像我在没有 xcode 的情况下运行它时一样 我得到如下目录
  • 运行时动态选择方法;访客模式或反射的替代方案

    我正在开发一个小型游戏模板 其世界由如下节点组成 World Zone Cell Actor Actor Item Where a World可以包含多个Zone物体 一个Zone可以包含多个Cell对象等 其中每一个都实现了Node接口
  • perl 如何将字符串转换为日期时间?

    我尝试在 perl 中将字符串转换为日期 但出现错误 use strict use warnings use DateTime use Date Manip my date ParseDate 20111121 print today is
  • 服务工作线程不从缓存返回文件

    我正在尝试使用 Service Worker 缓存单页 Web 应用程序 它应该从缓存中获取所有文件 并仅在发布新的服务工作线程版本时更新该缓存 使用预缓存功能 我将一些文件写入缓存 如下所示 function precache retur
  • 如何区分 .Net 中的单击和双击?

    我想重写 OnMouseClick 和 OnMouseDoubleClick 并根据使用的单击样式执行不同的操作 问题是单击和双击都会发生 OnMouseClick 并且在 OnMouseDoubleClick 之前被调用 我确信这一定是一
  • Golang管道子命令实时输出

    我正在尝试通过管道传输命令的输出 但在写入端关闭之前似乎不会从管道中读取任何数据 最终我希望它连接到一个 websocket 该 websocket 在命令执行时流式传输命令的状态 问题是 虽然此代码逐行打印消息 但在程序执行完毕之前它不会
  • 在 Windows 和 Fedora 上安装 scapy 后,scapy 的 contrib 丢失

    我在 Windows 7 和 Fedora 机器上都安装了 scapy 但是 contrib 包没有安装 或者至少 它没有出现在我的 site packages scapy 包下 我怎样才能安装它 查看提供的 zip 文件http www
  • java中如何使用XPath查找带CDATA标签的节点值

    我使用XPath解析rss xml数据 数据为
  • 在 Joomla! 中设置页面标题3 来自模块

    我有一个现有模块 我使用 loadposition custom position 从文章中显示该模块 该文章链接到一个菜单项 我希望能够从此模块设置自定义页面标题 覆盖菜单项设置的页面标题 我尝试使用 document JFactory
  • 将图像从 Android 发送到 ASP.NET Web 服务

    我正在开发一个 Android 应用程序 它应该将图像发送到我的 ASP NET Web 服务 图像将保存为文件 我已经看到了几种方法可以做到这一点 我选择了这种方法 将图像转换为字节数组 gt 将字节数组转换为字符串 gt 使用 KSOA
  • 在 CFMutableDictionary 中存储 C 结构体

    由于 Core Foundation 中没有与 NSValue 对应的对象 我们该如何将 C 结构体存储在 CFMutableDictionary 中呢 首先 您可以按原样将 NSvalue 放入 CFMutableDictionary 中