是否有可能进行编码CGPathRef变量? 我的意思是有一个encodeObject:forKey像CGPathRef变量的方法?
Answer 1:
是的,有-我已经做到了这一点: https://github.com/mro/MROGeometry/blob/master/NSCoder_MROCGPath.m
Answer 2:
CGPaths都是对象,但我不认为你可以对其进行编码,至少,如果可以的话,它没有记录。 你需要生成路径自己的saveable表示,和编码,然后,当你解码该表示,从它自己化身的路径。
Answer 3:
这头在Github上有两个公用字符串互换CGPaths与NSString的:
+(nullable NSString*) svgPathFromCGPath:(CGPathRef)aPath;
+(nullable CGPathRef) newCGPathFromSVGPath:(NSString*)anSVGPath whileApplyingTransform:(CGAffineTransform)aTransform;
您可以使用这些字符串与NSCoders存放东西拿走。 被警告你的路径和字符串之间进行转换,任何时候,你可能会失去,因为转换的显著数字。
我写这些程序,他们是在MIT许可。
文章来源: CGPathRef encoding