3

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

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

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

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

例子:[NSNumber numberWithUnsignedLongLong:aPointer];

PS:这是为 iPhone BTW。

4

1 回答 1

3

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

于 2012-09-18T03:38:07.000 回答