将C指针添加到NSMutableArray

Geo*_*sen 8 pointers objective-c nsmutablearray

我正在编写一个处理低级图像内存的Objective-C程序.我正在使用ANSI-C结构进行数据存储 - 由于我存储的数据是100%数据,没有任何方法可以对该数据进行操作,因此完全成熟的对象看起来有些过分.具体来说,我正在编写一个可定制的分色算法,它依赖于一系列颜色 - 这就是事情变得棘手的地方.我将我的颜色存储为三个浮点数的结构,以及一个整数标记(具体来说与分色算法有关).Everyhting进展顺利,除了一件事......

[实际问题]

我无法弄清楚如何添加指向NSMutableArray的指针!我知道如何添加一个对象,但添加指向结构的指针似乎更难 - 我不希望NSMutableArray解除引用我的指针并将结构视为某种奇怪的对象.我希望NSMutableArray将其自身的指针添加到其集合中.我该怎么做呢?

提前致谢,

G

and*_*n22 15

有一个专门为此设计的课程:NSPointerArray.请参阅苹果的文档在这里.对于任意指针,您可能希望使用NSPointerFunctionsOpaqueMemoryNSPointerFunctionsOpaquePersonality选项.

如果NSPointerArray不可用(例如,如果您正在为iOS开发),那么您可以使用包装指针-[NSValue valueWithPointer:],只要包装和展开的开销不会太慢.

  • Cocoa有很多人错过的收集类 - 我发现`NSMapTable`特别有用.请在此处查看完整列表:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Collections/Collections.html (2认同)