如果没有可用的连接,我如何保存和上传分数?在 WWDC 会话中,如果没有可用的连接,它会说使用以下代码:
NSData *archivedScore = [NSKeyedArchiver archivedDataWithRootObject:[NSData dataWithBytes:&score length:sizeof(score)]];
然后我将 NSData 对象保存到 NSUSerDefaults。但是我如何从中得到一个 int 分数值来报告呢?
谢谢
如果没有可用的连接,我如何保存和上传分数?在 WWDC 会话中,如果没有可用的连接,它会说使用以下代码:
NSData *archivedScore = [NSKeyedArchiver archivedDataWithRootObject:[NSData dataWithBytes:&score length:sizeof(score)]];
然后我将 NSData 对象保存到 NSUSerDefaults。但是我如何从中得到一个 int 分数值来报告呢?
谢谢
使用NSKeyedUnarchiver
(来自档案和序列化编程指南)
int score = 42;
NSData *archivedScore = [NSKeyedArchiver archivedDataWithRootObject:[NSData dataWithBytes:&score length:sizeof(score)]];
int *scorePtr = [[NSKeyedUnarchiver unarchiveObjectWithData:archivedScore] bytes];
NSLog(@"score = %d", *scorePtr); // Output: score = 42