当前位置:主页 > 开发频道 > 新手教学 > 起步教学 >

保存iPhone数据的代码

时间: 2010-01-27 11:27 点击:

作者 angellixf 原帖地址 http://www.cocoachina.com/bbs/read.php?tid-9414.html /*======================================================= NSKeyedArchiver ========================================================*/ NSString * str = @ abc ;
作者  angellixf

原帖地址  http://www.cocoachina.com/bbs/read.php?tid-9414.html

/*=======================================================
NSKeyedArchiver
========================================================*/

NSString *str = @"abc";
NSString *astr = @"efg";
NSArray *Array = [NSArray arrayWithObjects:str, astr, nil];
 
//Save
NSString *Path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *filename = [Path stringByAppendingPathComponent:@"test"];
[NSKeyedArchiver archiveRootObject:Array toFile:filename];
 
str = @"a";
astr = @"";
 
//load
NSArray *arr = [NSKeyedUnarchiver unarchiveObjectWithFile: filename];
str = [arr objectAtIndex:0];
astr = [arr objectAtIndex:1];
 
NSLog(@"str:%@",str);
NSLog(@"astr:%@",astr);
 
 
 
/*=======================================================
NSUserDefaults
========================================================*/

NSString *str = @"abc";
NSString *astr = @"efg";
NSArray *Array = [NSArray arrayWithObjects:str, astr, nil];
 
//Save
NSUserDefaults *SaveDefaults = [NSUserDefaults standardUserDefaults];
[SaveDefaults setObject:Array forKey:@"SaveKey"];
 
str = @"a";
astr = @"";
 
//load
Array = [SaveDefaults objectForKey:@"SaveKey"];
str = [Array objectAtIndex:0];
astr = [Array objectAtIndex:1];
NSLog(@"str:%@",str);
NSLog(@"astr:%@",astr);
 
 
 
 
/*=======================================================
writeToFile:
========================================================*/

NSString *str = @"abc";
NSString *astr = @"efg";
NSArray *Array = [NSArray arrayWithObjects:str, astr, nil];
 
//Save
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
if (!documentsDirectory) {
NSLog(@"Documents directory not found!");
}
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"Savedatas.plist"];
[[NSArray arrayWithObjects:Array,nil] writeToFile:appFile atomically:NO];
 
 
//load
if([[NSFileManager defaultManager] fileExistsAtPath:appFile])
self.SaveDataArray = [NSMutableArray arrayWithContentsOfFile:appFile];
else
self.SaveDataArray = [NSMutableArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Savedatas" ofType:@"plist"]];
NSArray *strArray = [self.SaveDataArray objectAtIndex:0];
 
str = [strArray objectAtIndex:0];
astr = [strArray objectAtIndex:1];
 
 
 
 
 
//坛子里的,搬过来。。。。。
-(BOOL) writeApplicationData:(NSDictionary *)data writeFileName:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
if (!documentsDirectory) {
NSLog(@"Documents directory not found!");
return NO;
}
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
return ([data writeToFile:appFile atomically:YES]);
}
 
-(id) readApplicationData:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
NSDictionary *myData = [[[NSDictionary alloc] initWithContentsOfFile:appFile] autorelease];
return myData;
}

顶一下(2)

66.7%

踩一下(1)

33.3%

发表评论

评价: 中立 好评 差评 请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

表情: