如何将NSEvent添加到属性列表?

时间:2011-05-24 20:44:30

标签: objective-c cocoa macos property-list

我想使用NSEventNSPropertyListSerialization进行编码,但NSPropertyListSerialization只接受NSData,NSString,NSArray,NSDictionary,NSDate和NSNumber对象。

是否有推荐的方法将NSEvent转换为支持NSPropertyListSerialization的NSDictionary(以及从这样的NSDictionary恢复NSEvent)?

1 个答案:

答案 0 :(得分:2)

在这种情况下,您需要自己处理保存和恢复对象。或者更确切地说,您感兴趣的对象的各个部分,可以将每个值放在NSDictionary中,也可以单独存储它们,并在解码类时使用这些值创建新对象。

由于您通常不创建或存储NSEvent对象,因此这种情况有点奇怪。如果您正在执行类似存储最后一次触摸坐标的操作,请考虑使用CGPoint。您不仅会减少少量的内存占用,而且还可以使用NSValue来序列化这一点。