CGPathRef编码

时间:2009-09-15 20:26:37

标签: objective-c cocoa nscoding

是否可以编码CGPathRef变量?我的意思是有一个encodeObject:forKey like CGPathRef变量的方法吗?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

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

答案 2 :(得分:1)

Github上的这个header有两个实用程序字符串,用于将CGPath与NSStrings交换:

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

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

我写了这些例程,他们是MIT许可证。