我想使用NSPropertyListSerialization
编码NSEvent
,但NSPropertyListSerialization只接受NSData,NSString,NSArray,NSDictionary,NSDate和NSNumber对象。如何将NSEvent添加到属性列表?
是否有推荐的方法来将NSEvent转换为支持NSPropertyListSerialization的NSDictionary(并从这样的NSDictionary中恢复NSEvent)?
我想使用NSPropertyListSerialization
编码NSEvent
,但NSPropertyListSerialization只接受NSData,NSString,NSArray,NSDictionary,NSDate和NSNumber对象。如何将NSEvent添加到属性列表?
是否有推荐的方法来将NSEvent转换为支持NSPropertyListSerialization的NSDictionary(并从这样的NSDictionary中恢复NSEvent)?
在这种情况下,您需要自己处理保存和恢复对象。或者说,您感兴趣的对象的片断,可以将每个值放入NSDictionary中,也可以单独存储它们,并在解码类时使用这些值创建新对象。
这种情况有点奇怪,因为你通常不创建或存储NSEvent对象。如果您正在存储最后一个触摸坐标,请考虑使用CGPoint。您不仅可以少量减少内存占用量,还可以使用NSValue对该点进行序列化。
谢谢。然而,我想存储各种NSEvent类型,所以坐标本身并不代表构建新NSEvent的所有必要数据。 – smokris 2011-05-24 21:11:25
是的,你将不得不推出自己的实施,保存你感兴趣的东西。 – 2011-05-25 05:10:42
为什么地球上你想要序列化一个'NSEvent'? – 2011-05-24 20:47:39
我想记录与应用程序的交互,并能够稍后重播这些交互来驱动应用程序。 – smokris 2011-05-24 21:05:08