3

是否可以对 CGPathRef 变量进行编码?我的意思是 CGPathRef 变量是否有类似 encodeObject:forKey 的方法?

4

3 回答 3

2

是的,有 - 我已经这样做了:https ://github.com/mro/MROGeometry/blob/master/NSCoder_MROCGPath.m

于 2011-04-26T00:20:09.140 回答
1

CGPath 是对象,但我认为您不能对它们进行编码——至少,如果可以的话,它没有被记录在案。您需要自己生成路径的可保存表示,并对其进行编码,然后,当您对该表示进行解码时,您自己将路径从其中重生。

于 2009-09-15T21:22:38.203 回答
1

Github 上的这个头文件有两个实用字符串来交换 CGPaths 和 NSStrings:

+(nullable NSString*) svgPathFromCGPath:(CGPathRef)aPath;
+(nullable CGPathRef) newCGPathFromSVGPath:(NSString*)anSVGPath whileApplyingTransform:(CGAffineTransform)aTransform;

您可以将这些字符串与 NSCoders 一起使用来存储东西。请注意,无论何时在路径和字符串之间进行转换,都可能会因为转换而丢失有效数字。

我编写了这些例程,它们在 MIT 许可下。

于 2015-10-15T14:01:55.193 回答