- 浏览: 570291 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
JYY282:
[i][/i]
Ecshop与Shopex的比较 -
qq247890212:
我也遇见这问题了,真诡异。重新下载个猫换了就好了。 太浪费时间 ...
诡异:ClassNotFoundException: org.springframework.web.filter.CharacterEncoding
From: http://www.zhujiangroad.com/program/iOS/24620.html
iPhone数据存储之属性和归档Archive是本文要介绍的内容,在iPhone中有四种方式可以永久存储数据分别是属性列表、归档、SQLITE3、coredata 。
先来解释一下,前两者、后二者操作的时候有些地方是相同的,以属性列表和归档来说都会用writeToFile/URL:path atomically:flag 和initWithContentofFile/URL:path;两都都不能直接操作基本数据类型,不过前者不能操作自定义的类,而后者可以通过实现NSCoding协议来达到目的 。另外要说点的就是IPHONE每个应用都会有三个文件夹分别是documents、tmp、library分别称为存储应用的数据,临时数据,数据库 。我们要保存的数据会在documents中 。由于时间关系抽空再把这个文字写完整些 。
- #import "dataprocessAppDelegate.h"
- @implementation dataprocessAppDelegate
- @synthesize window;
- @synthesize dataArray;
- -(NSString*)pathFileForProcess:(NSString *)pathName{
- NSArray *directory=NSSearchPathForDirectoriesInDomains (NSDocumentDirectory,NSUserDomainMask, YES);
- return [[directory objectAtIndex:0] stringByAppendingPathComponent:pathName];
- }
- z
- -(void)writeDataToFile{
- firstData = [[NSString alloc] initWithString:@"im first!"];
- secondData = [[NSString alloc] initWithString:@"im secondData!"];
- thirdData = [[NSString alloc] initWithString:@"im thirdData!"];
- NSLog(@"write:\n first: %@ \nscond: %@ \nthird: %@", firstData, secondData, thirdData);
- NSMutableArray *tmp = [[NSMutableArray alloc] init];
- [tmp addObject:firstData];
- [tmp addObject:secondData];
- [tmp addObject:thirdData];
- self.dataArray = tmp;
- [tmp release];
- [firstData release];[secondData release];[thirdData release];
- BOOL bWrite = [dataArray writeToFile:[self pathFileForProcess:@"myTest.txt"]atomically:YES];
- }//属性读
- -(void)readDataFromFile{
- if([[NSFileManager defaultManager] fileExistsAtPath:[selfpathFileForProcess:@"myTest.txt"]]){
- NSMutableArray *tmpRead = [[NSMutableArray alloc] initWithContentsOfFile:[selfpathFileForProcess:@"myTest.txt"]];
- self.dataArray = tmpRead;
- [tmpRead release];
- firstData = [dataArray objectAtIndex:0];
- secondData = [dataArray objectAtIndex:1];
- thirdData = [dataArray objectAtIndex:2];
- NSLog(@"read:\n first: %@ \nscond: %@ \nthird: %@", firstData, secondData, thirdData);
- return;
- }
- NSLog(@"PROCESS FIRLE DOESNT EXITS!");
- }
- #pragma mark -------object-------------
- //归档写
- -(void)processObjectWrite{
- person *pObject= [[person alloc] init];
- pObject.name = [[NSString alloc] initWithString:@"wenQiang"];
- pObject.profession = [[NSString alloc] initWithString:@"project manager"];
- //[pObject setAge:24 andMarry: NO];
- //NSMutableArray *testData = [[NSMutableArray alloc] init];
- NSMutableData *data=[[NSMutableData alloc] init];
- NSKeyedArchiver *archiver=[[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
- [archiver encodeObject:pObject forKey:@"kObject"];
- [archiver finishEncoding];
- Boolean bWrite = [data writeToFile:[self pathFileForProcess:@"object2.txt"]atomically:YES];
- if(bWrite) NSLog(@"ok..."); else NSLog(@"write error!");
- [archiver release];
- //[pObject release];
- }、、归档读
- -(void)processObjectRead{
- NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:[selfpathFileForProcess:@"object2.txt"]];
- NSLog(@"data %@..", data);
- NSKeyedUnarchiver *unchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
- person *tmp = [unchiver decodeObjectForKey:@"kObject"];
- [unchiver finishDecoding];
- NSLog(@"OBJECT: name: %@ profession: %@\nage: %@\n marry:%@", tmp.name, tmp.profession);
- [unchiver release];
- //[tmp release];
- //实现
- - (void)applicationDidFinishLaunching:(UIApplication *)application {
- // Override point for customization after application launch
- //[self writeDataToFile];
- //[self readDataFromFile];
- [self processObjectWrite];
- [self processObjectRead];
- [window makeKeyAndVisible];
- }
- - (void)dealloc {
- [window release];
- [dataArray release];
- [super dealloc];
- }
- @end
- //以下是自定义的类
- #pragma mark---class person--
- #define kName @"keyName"
- #define kProfession @"keyProfession"
- #define kAge @"keyAge"
- #define kMarry @"keyMarry"
- @implementation person
- @synthesize name;
- @synthesize profession;
- #pragma mark----nscoding delegate 2 method--
- - (void)encodeWithCoder:(NSCoder *)aCoder{
- [aCoder encodeObject:name forKey: kName];
- [aCoder encodeObject:profession forKey: kProfession];
- // [aCoder encodeObject:Age forKey: kAge];
- // [aCoder encodeObject:marry forKey:kMarry];
- }
- - (id)initWithCoder:(NSCoder *)aDecoder{
- if(self = [super init]){
- self.name = [aDecoder decodeObjectForKey:kName];
- self.profession = [aDecoder decodeObjectForKey:kProfession];
- //Age = [aDecoder decodeObjectForKey:kAge];
- // marry=[aDecoder decodeObjectForKey:kMarry];
- }
- return self;
- }
- #pragma mark ---------------NSCopying 1 method-------------
- - (id)copyWithZone:(NSZone *)zone{
- person *tmp = [[[self class] allocWithZone:zone] init];
- tmp.name = [self.name copy];
- tmp.profession = [self.profession copy];
- return nil;
- }
- -(void)dealloc{
- [name release];
- [profession release];
- [super dealloc];
- }
- //-(void)setAge:(NSInteger)age andMarry:(Boolean)b{
- // Age = age;
- // marry = b;
- //}
- @end
小结:iPhone数据存储之属性和归档Archive的内容介绍完了,希望本文对你有所帮助!
发表评论
-
Objective-C 与 C++ 的异同
2013-04-02 12:03 1360http://www.cnblogs.com/y041039 ... -
Cocos2D-X是全球知名的开源跨平台手机游戏引擎
2013-01-22 10:05 2710http://www.oschina.net/p/cocos ... -
iOS Keyboard 键盘高度变化 自适应
2013-01-15 15:43 3220[[NSNotificationCenter default ... -
iOS使用自定义字体
2012-11-27 12:11 12080From: http://blog.csdn.net/csy1 ... -
4 款类似 Facebook/Path 切换效果的 iOS 组件
2012-11-27 12:03 2097From: http://blog.csdn.net/lia ... -
Path 2.0的UI界面设计详细介绍
2012-11-27 11:56 1427如Path的创始人Dave Morin ... -
史上最全的App Store邮箱列表
2012-11-27 11:51 1227From: http://roybaby.blog.51cto ... -
iOS从info.plist 获取项目的名称及版本号
2012-11-16 10:54 1577From: http://blog.sina.com.cn/s ... -
MapKit annotation drag and drop with callout info update
2012-10-13 10:38 2365http://hollowout.blogspot ... -
NSArray 或NSDictionary 调用writeToFile方法失败原因
2012-08-31 10:03 4424NSArray 或NSDictionary 调用writeTo ... -
如何让IOS应用从容地崩溃
2012-08-30 15:25 1574From: http://www.cocoachina.com ... -
iOS中判断设备系统版本
2012-08-29 17:17 31670在iOS开发中,经常要考虑系统的向下兼容,如果使用 ... -
iOS 汉字转拼音
2012-08-21 16:42 1426From: http://www.cnblogs.com/v2 ... -
iOS模拟器截图工具
2012-08-17 16:35 1592From: http://magicalboy.com/ios ... -
XCode下的iOS单元测试
2012-08-10 17:47 1123From: http://mobile.51cto.com/ ... -
AFNetworking
2012-08-08 10:54 4624AFNetworking on github: https:/ ... -
Wrapping Conventions
2012-08-01 15:54 781Wrapping Conventions ... -
Core Animation如何使显式动画结束时的值直接作用Layer
2012-08-01 14:51 3751(1)使用隐式动画会直接改变layer的属性值,如: ima ... -
How To Debug Memory Leaks with XCode and Instruments Tutoria
2012-07-31 16:30 1020From: http://www.raywenderlich. ... -
Using Properties in Objective-C Tutorial
2012-07-31 16:27 882From: http://www.raywenderlich. ...
相关推荐
该工程是在iphone中通过属性列表实现数据持久化存储的程序。
苹果iphone手机数据恢复软件(iphone数据恢复)是一个针对iPhone、iPad、iTouch平台的短信、通讯录、通话记录、QQ聊天记录、微信删除的数据恢复软件。iphone数据恢复可恢复:短信、通讯录、通话记录、QQ聊天记录...
有效的帮助用户直接从iPhone恢复意外丢失的数据,或者是删除的视频、相片和通讯记录等。恢复的范围非常广,且还可以保存到电视上,非常的方便实用。 Supported Recovered Files from Any iOS Device: iPad • iPad ...
321数据恢复 iPhone数据恢复软件专业版为用户提供了一个安全和强大的数据恢复解决方案,它可以恢复各种类型,例如:硬盘、U盘、光盘、移动硬盘、USB闪存卡、数码相机、iPhone苹果手机等以及其他类型的可移动媒体中丟...
恢复丢失的数据和同步错误,如升级的iOS。 多达12种不同的文件格式。 因为它是一个共同的特点,每一个版本,iTunes的备份文件,恢复,如iPhone 5/4S如果你有一个iTunes的备份文件,请使用您所选择的版本。
iphone5数据线
今天小编为大家介绍一款针对苹果手机数据丢失开发的一款手机数据恢复软件——北亚Iphone苹果手机数据恢复软件。北亚Iphone苹果手机数据恢复软件由北京北亚数据恢复中心研发,能够实现iPhone、ipad、iTouch等多种苹果...
iphone开发:读写数据,数据归档源码,解压可直接运行。
iphone数据恢复软件,数据修复汉化版。解决数据丢失问题,内附安装方法汉化补丁注册机
恢复iphone数据软件采用先进的算法,如果因为特殊原因扫描不到丢失的文件
中国iphone用户调查基本数据最新数据
iphone 从view2到view1之间的数据传送问题iphone 从view2到view1之间的数据传送问题 希望对你们有帮助谢谢
苹果iphone手机数据恢复软件是一款专门针对苹果设备的数据恢复软件。软件不仅能实现iphone手机数据恢复,还能实现包括iPad等设备的数据恢复。软件可恢复短信、通讯录、通话记录、QQ聊天记录等诸多数据。软件界面美观...
NULL 博文链接:https://374016526.iteye.com/blog/1156908
一款专业且效果理想的苹果恢复数据软件,拥有从IOS设备还原、...支持直接从iOS设备还原数据,通过USB数据线连接iPhone/iPad/iPod并安装到Windows系统上,然后选择数据类型并开始扫描接着预览扫描结果最后复删除数据即可
iPhone数据恢复软件
苹果Iphone常见的重启数据分析代码 包含苹果机型重启分析代码(i2c总线报错)
321Soft iPhone数据恢复为您提供最快和最简单的方式来找回您的珍贵数据放回iPhone上,iPad和iPod touch。 试用版让你尝试购买前预览文件。它可以让你有选择性地恢复你想要恢复的数据,和您没有在iTunes上备份过的...
DiskAid(iPhone数据传输软件)是一款iPhone数据传输辅助软件,能够在iPhone通过数据线或Wifi连接到PC端时完成一系列强大的文件传输操作,能够实现音乐与视频在iPhone与PC间任意位置的转换与传输。同时DiskAid还支持...
功能介绍1、一键备份您的iPhone/ipad一旦您的iOS设备连接到PC,FonePaw iOS数据备份和恢复将扫描您的手机数据并允许您一键备份。备份数量没有限制,最新的不会擦除旧的。2、从备份中安全还原在恢复之前可以预览所有...