У меня есть NSDictionary, содержащий некоторые объекты: NSSet UITouches, UIEvent и NSString.Ошибка при кодировании UITouchesEvent as NSData
Когда я пытаюсь закодировать словарь в NSData, строка кодируется правильно. У меня была ошибка с кодировкой UITouches, но я нашел способ расширить класс с помощью некоторого кода, чтобы можно было кодировать UITouch. Тем не менее, я все еще не могу кодировать UIEvent (который на самом деле является UITouchesEvent). Как я могу расширить UIEvent или UIInternalEvent, чтобы сделать их кодируемыми в NSData?
методы я использую для кодирования/декодирования:
-(NSString *)stringFromDictionary:(NSDictionary *)dict{
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:dict forKey:@"dictKey"];
[archiver finishEncoding];
return [Base64 encode:data];
}
-(NSDictionary *)dictionaryFromString:(NSString *)string{
NSData *data = [[NSMutableData alloc] initWithData:[Base64 decode:string]];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
NSDictionary *myDictionary = [unarchiver decodeObjectForKey:@"dictKey"];
[unarchiver finishDecoding];
return myDictionary;
}
Я получаю ошибку:
-[UITouchesEvent encodeWithCoder:]: unrecognized selector sent to instance
Пожалуйста, дайте мне знать, если я пропускаю какие-либо важную информацию относительно отладки. Благодаря!
Спасибо, но, как я уже сказал, у меня уже есть кодировка UITouch. Я пытаюсь понять, как это сделать с помощью UITouchesEvent. – rsmoz
Мой плохой, тогда, конечно, вам придется сделать это для класса 'UITouchesEvent'. Но я не думаю, что это будет легко. – Pascal