如何将CGMutablePathRef添加到NSMutableArray?
答案 0 :(得分:4)
CGMutablePath path = <... your path ...>;
[mutableArray addObject:(id)path];
CGPath
和CGMutablePath
只是不透明的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:
方法不会影响对象的保留计数,因此在添加到数组时不得释放路径(稍后在不再需要时将其释放)