是否可以编码CGPathRef变量?我的意思是有一个encodeObject:forKey like CGPathRef变量的方法吗?
答案 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许可证。