CGMutablePathRef到NSMutableArray

时间:2010-11-09 11:21:18

标签: objective-c nsmutablearray

如何将CGMutablePathRef添加到NSMutableArray?

2 个答案:

答案 0 :(得分:4)

CGMutablePath path = <... your path ...>;
[mutableArray addObject:(id)path];

CGPathCGMutablePath只是不透明的CFType对象类型,可以将它们(通过强制转换为id)添加到任何可免费桥接到其CoreFoundation的Cocoa容器类中反份。

答案 1 :(得分:3)

您可以将CGMutablePathRef包装到NSValue并将其存储在数组中。然后在需要的时候解开它:

//Wrap
NSValue *pathValue = [NSValue valueWithPointer: path];
[array addObject:pathValue];

//Unwrap
NSValue *pathValue = [array objectAtIndex: index];
CGMutablePathRef path = [pathValue pointerValue];

请注意,valueWithPointer:方法不会影响对象的保留计数,因此在添加到数组时不得释放路径(稍后在不再需要时将其释放)