【发布时间】:2010-04-24 20:09:25
【问题描述】:
如何归档 NSValues 数组?我应该进行哪些转换才能做到这一点?它不会按原样存档。
代码:
[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver
archivedDataWithRootObject:[[NSArray alloc] initWithArray:drawingsArray]]
forKey:@"NSValuesArray"];
错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSKeyedArchiver encodeValueOfObjCType:at:]: this archiver cannot encode structs'
数组数据:
drawingsArray (
(
NSPoint: {439, 280},
NSPoint: {439, 280},
NSPoint: {439, 287},
NSPoint: {438.62, 290.104},
NSPoint: {439, 293}
)
)
【问题讨论】:
-
根据文档,
NSValue实现了NSCoding协议,所以它应该可以正常工作。你遇到了什么问题? -
代码我已经贴出来了,请看上面。
标签: iphone archive nskeyedarchiver cgpoint