将NSMutableDictionary存储为带有指向链接列表的指针的C结构

时间:2012-09-18 03:25:10

标签: objective-c

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

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

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

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

示例:[NSNumber numberWithUnsignedLongLong:aPointer];

PS:这适用于iPhone BTW。

1 个答案:

答案 0 :(得分:3)

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