在日常开发中经常要对NSString、NSDictionary、NSArray、NSData、NSNumber这些基本类的数据进行持久化,我们可以用XML属性列表持久化到.plist 文件中,也可以用NSUserDefaults,下面我们就开搞吧。
XML属性列表方式:
#import "AppDelegate.h" #import "Person.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSDictionary *studentDic = [NSDictionary dictionaryWithObjectsAndKeys:@"SuperDo.Mount",@"student_mount",@"SuperDo.AC",@"student_ac",@"SuperDo.Horse",@"student_horse", nil]; //获得Document的路径 NSString *documents = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; NSString *path = [documents stringByAppendingPathComponent:@"students.plist"]; //保存到Document目录下 if([studentDic writeToFile:path atomically:YES]) { NSLog(@"Save to file success!"); } //从path初始化 NSDictionary *students = [NSDictionary dictionaryWithContentsOfFile:path]; for (NSString *key in students.allKeys) { NSLog(@"%@: %@",key,[students objectForKey:key]); } return YES; } @end
保存到Documet下文件信息:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>student_ac</key> <string>SuperDo.AC</string> <key>student_horse</key> <string>SuperDo.Horse</string> <key>student_mount</key> <string>SuperDo.Mount</string> </dict> </plist>
NSUserDefaults 方式:
#import "AppDelegate.h" #import "Person.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSDictionary *studentDic = [NSDictionary dictionaryWithObjectsAndKeys:@"SuperDo.Mount",@"student_mount",@"SuperDo.AC",@"student_ac",@"SuperDo.Horse",@"student_horse", nil]; NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setObject:studentDic forKey:@"students"]; NSDictionary *dic = [userDefaults objectForKey:@"students"]; for (NSString *key in dic.allKeys) { NSLog(@"NSUserDefaults 方式 ---- 》 %@: %@",key,[dic objectForKey:key]); } return YES; } @end
XML属性列表方式打印结果:
2015-07-06 20:39:53.623 Attendance[1129:68434] Save to file success!
2015-07-06 20:39:53.624 Attendance[1129:68434] student_ac: SuperDo.AC
2015-07-06 20:39:53.624 Attendance[1129:68434] student_mount: SuperDo.Mount
2015-07-06 20:39:53.624 Attendance[1129:68434] student_horse: SuperDo.Horse
NSUserDefault方式打印结果:
2015-07-06 20:50:44.743 Attendance[1155:70007] NSUserDefaults 方式 ---- 》 student_mount: SuperDo.Mount
2015-07-06 20:50:44.743 Attendance[1155:70007] NSUserDefaults 方式 ---- 》 student_ac: SuperDo.AC
2015-07-06 20:50:44.743 Attendance[1155:70007] NSUserDefaults 方式 ---- 》 student_horse: SuperDo.Horse
本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 )
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4625366.html