我正在使用 NSKeyedArchiver / NSKeyedUnarchiver 通过蓝牙将对象从 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 上发帖...