1

NSEventusingをエンコードしたいのですNSPropertyListSerializationが、NSPropertyListSerialization は NSData、NSString、NSArray、NSDictionary、NSDate、および NSNumber オブジェクトのみを受け入れます。

NSEvent を NSPropertyListSerialization 対応の NSDictionary に変換する (およびそのような NSDictionary から NSEvent を復元する) 推奨される方法はありますか?

4

1 に答える 1

2

この状況では、オブジェクトの保存と復元を自分で処理する必要があります。むしろ、各値を NSDictionary に入れるか、それらを個別に保存し、クラスがデコードされたときに値を使用して新しいオブジェクトを作成することにより、関心のあるオブジェクトの断片です。

通常は NSEvent オブジェクトを作成または保存しないため、この状況は少し奇妙です。最後のタッチ座標を保存するようなことをしている場合は、代わりに CGPoint を使用することを検討してください。メモリ フットプリントを少し減らすだけでなく、NSValue を使用してポイントをシリアル化できます。

于 2011-05-24T21:01:02.990 に答える