序列化CGAffineTransform以存储在NSUserDefaults中

Jon*_*nny 5 ios

我如何在NSUserDefaults中存储CGAffineTransform?因为它包含6个浮点值,所以需要大量的重复工作来将每个值存储为float ...所以我想知道是否有更聪明的方法.

inv*_*ame 12

使用NSStringFromCGAffineTransform()和CGAffineTransformFromString().

使用NSValue,我得到:

- [NSUserDefaults setObject:forKey:]:尝试插入类'NSConcreteValue'的非属性值'CGAffineTransform:{{0.9291659,0,0,-0.9291659},{41.675232,823.75122}}'.请注意,属性列表中的字典和数组也必须仅包含属性值.


Ole*_*ann 7

将其包装在一个NSValue实例中:

NSValue *affineTransformValue = [NSValue valueWithCGAffineTransform:myTransform];
Run Code Online (Sandbox Code Playgroud)