Я использую NSKeyedArchiver / NSKeyedUnarchiver для отправки объектов через Bluetooth с iPad на пульт дистанционного управления iPhone. Это работает, как показано здесь .
Однако, если пульт дистанционного управления получает данные, которые не были заархивированы (например, случайная строка NSString), происходит сбой всего приложения. Я хочу иметь возможность сказать, «если данные в архиве - это объект X, разархивируйте их и сделайте следующее, но проигнорируйте это иначе».
Есть ли способ обработать эти ошибки с помощью NSKeyedUnarchiver?
Вот мой код:
- (NSMutableDictionary *)unpackReceivedNSMutableDictionaryFromData:(NSData *)receivedData {
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:receivedData];
NSMutableDictionary *receivedDictionary = [[unarchiver decodeObjectForKey:@"MyKey"] retain];
[unarchiver finishDecoding];
[unarchiver release];
return receivedDictionary;
}
Любые предложения приветствуются! Это моя первая публикация в StackOverflow ...