如果我有一个应用程序的本地数据,假设一个本地高分,我存储游戏的所有分数。 如果我发布了应用程序的更新,我将丢失所有数据。 我用这种方法保存数据:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"defaultStage.dat"];
char cstr[512]={0};
[filename getCString:cstr maxLength:512 encoding:NSASCIIStringEncoding];
defaultStage=1;
FILE *pFile=fopen(cstr, "wb");
// and save with fprintf
有一种方法可以“永久”保存数据,以免在重新安装或更新应用时丢失?
答案 0 :(得分:0)
您可以选择在iOS / Mac OS X下保存数据。您可以先查看Core data,NSUserDefaults和NSFileManager。检查您要保存的数据量,并查看哪个数据符合您的需求。
答案 1 :(得分:0)
保存到Documents目录不应该在更新时丢失数据,很奇怪。真的吗?至于删除和重新安装应用程序,无法在手机本地保存数据(即在应用程序的沙箱中删除应用程序时删除)。您需要使用iCloud或远程Web服务器。
为了保存高分,我建议您使用NSUserDefaults,当您更新应用时也不会删除它。
编辑:我假设您谈论的是iOS,而不是OS X