在我的应用程序中,我有一个名为 matchDataDictionary 的字典,我设置了以下内容:
[[GCTurnBasedMatchHelper sharedInstance].matchDataDictionary setObject:deck forKey:@"deck"];
其中甲板是甲板的一个实例:https ://gist.github.com/naderhen/4711899
然后,我尝试使用以下内容测试归档/取消归档:
存档(这似乎有效):
NSMutableData *newData = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:newData];
[archiver encodeObject:[GCTurnBasedMatchHelper sharedInstance].matchDataDictionary forKey:@"root"];
[archiver finishEncoding];
NSLog(@"Archived Data: %@", newData);
取消归档(不起作用):
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:newData];
NSMutableDictionary *matchDataDictionary = [unarchiver decodeObjectForKey:@"root"];
[unarchiver finishDecoding];
NSLog(@"Unarchived Data: %@", matchDataDictionary);
任何关于如何有效归档和随后取消归档这些数据的指导将不胜感激。如果有帮助,这适用于使用 GameKit 框架的回合制游戏,因此我正在尝试准备用户操作以通过当前比赛的 matchData 发送。
还!任何关于我如何修复 Deck 编码以包含其“Tiles”数组的建议将不胜感激。
非常感谢!
纳德