使用指向链接列表的指针存储 NSMutableDictionary 一个 C 结构

Posted

技术标签:

【中文标题】使用指向链接列表的指针存储 NSMutableDictionary 一个 C 结构【英文标题】:Storing NSMutableDictionary a C struct with a pointer to a link list 【发布时间】:2012-09-18 03:25:10 【问题描述】:

我有这个 C 结构(使用 malloc 分配,因此在堆中)我想存储在 NSMutableDictionary 中,因为我想避免重新创建 C 结构,这是一个复杂的过程。

通常使用 C 结构,我知道我可以使用 NSData 对象来存储位,然后将其放入诸如 NSArray 和 NSDictionary 之类的 Objective-C 容器中。但是,我要保存的结构包含指向 C 链接列表的指针,这就是我要避免重新创建的原因。我宁愿将指针保存在像 NSDictionary 这样的容器中,并在需要时获取它。

问题是,在不重新创建结构的情况下重用结构的最佳方法是什么?

我正在考虑将指针存储到结构本身。由于指针实际上只是一个数字,我可以将它存储在 NSNumber 中吗?如果可以,我用什么?无符号长长?

示例:[NSNumber numberWithUnsignedLongLong:aPointer];

PS:顺便说一句,这是为 iPhone 准备的。

【问题讨论】:

【参考方案1】:

指针不是数字(至少在NSNumber 的意义上不是)。但它是一个价值。事实上你可以使用[NSValue valueWithPointer:myPtr]

【讨论】:

这让我想起了。我以前用过,忘记了!谢谢。

以上是关于使用指向链接列表的指针存储 NSMutableDictionary 一个 C 结构的主要内容,如果未能解决你的问题,请参考以下文章

函数指针

指向 QList 中元素的指针

插入排序链接列表Java

从链接列表中的指针存储字符串

我应该在哪里存储对象列表?

Linux常用命令