0

如果我有一个应用程序的本地数据,假设我存储游戏的所有分数的本地高分。如果我发布应用程序的更新,我会丢失所有数据。我用这种方法保存数据:

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    

有一种方法可以“永久”保存数据,在我重新安装或更新应用程序时不会丢失?

4

2 回答 2

0

在 iOS/Mac OS X 下,您有很多保存数据的选项。您可以从查看Core dataNSUserDefaultsNSFileManager 开始。检查您要保存多少数据,看看哪一个适合您的需要。

于 2012-10-16T14:51:34.393 回答
0

保存到 Documents 目录不应该在更新时丢失数据,这很奇怪。真的吗?至于删除和重新安装应用程序,没有办法将数据保存在手机本地(即在应用程序被删除时被删除的应用程序沙箱之外)。您需要使用 iCloud 或远程 Web 服务器。

为了保存高分,我建议使用 NSUserDefaults 更新应用程序时它也不会被删除。

编辑:我假设您谈论的是 iOS,而不是 OS X

于 2012-10-16T15:16:39.183 回答