2012-10-16 49 views
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  

存在着保存数据的方式“永久”不失去的时候我重新安装或更新应用程序?

回答

0

保存到文档目录不应该在更新时丢失数据,奇怪。它真的吗?至于删除和重新安装应用程序,无法在手机上本地保存数据(即在应用程序的沙箱外部,删除应用程序时会被删除)。您需要使用iCloud或远程Web服务器。

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

编辑:我猜你谈论的iOS,而不是OS X

0

您可以在iOS/Mac OS X下保存数据。您可以先看看Core data,NSUserDefaultsNSFileManager。检查您想要保存的数据量,并查看哪个数据符合您的需要。

+0

所以不是NSArray的*路径= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);我可以使用:NSArray * paths = NSSearchPathForDirectoriesInDomains(NSUserDefaults,NSUserDomainMask,YES);? – sefiroths

相关问题