NSKeyedArchiver/NSKeyedUnarchiverを使用して、Bluetooth経由でiPad経由でiPhoneリモコンにオブジェクトを送信しています。これは、hereのように動作します。エラー処理 - NSKeyedUnarchiver
ただし、リモートコントロールがアーカイブされていないデータ(たとえばランダム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で私が初めて投稿したものです...