iOS开发:沙盒存储类对象
2015-09-24 22:37
603 查看
iOS开发:沙盒存储类对象
1、建立一个类,初始化一个对象并赋值
Test *test = [[Testalloc]init];
test.name = @"沙盒";
[test setGender:@"男"];
[test setAge:20];
2、沙盒存储:
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents = [array lastObject];
NSString *documentPath = [documents stringByAppendingPathComponent:@"TEST.av"];
//存储:
/*
***重点:对象类型数据不能直接写入文件,需要通过归档和返归档(即写入和读取)
*/
//归档
[NSKeyedArchiver archiveRootObject:test toFile:documentPath];
//返档
Test *result = [NSKeyedUnarchiver unarchiveObjectWithFile:documentPath];
//在类文件中要对对象编码、解码
//协议自带的两个方法:
#pragma mark 第二步:对test对象编码
- (void)encodeWithCoder:(NSCoder *)aCoder{
[aCoder encodeObject:self.name forKey:@"name"];
[aCoder encodeObject:self.gender forKey:@"gender"];
[aCoder encodeInteger:self.age forKey:@"age"];
}
#pragma mark 第三步:对text对象解码
- (id)initWithCoder:(NSCoder *)aDecoder{
self = [super init];
if (self) {
self.name = [aDecoder decodeObjectForKey:@"name"];
self.gender = [aDecoder decodeObjectForKey:@"gender"];
self.age = [aDecoder decodeIntegerForKey:@"age"];
}
return self;
}
结果如下表:但具体存储zhi
3.拓展:文件管理系统
创建一个文件管理器:
NSFileManager *fileManager = [NSFileManager defaultManager];
//文件系统下文件的增、删、查。
(1).增:就是创建文件夹的过程,具体见沙盒;
(2).查询文件管理器中指定路径下是否有某个文件
BOOL isExist = [fileManager fileExistsAtPath:documentPath];
(3).删除文件
BOOL isRemoved = [fileManager removeItemAtPath:documentPath error:nil];
1、建立一个类,初始化一个对象并赋值
Test *test = [[Testalloc]init];
test.name = @"沙盒";
[test setGender:@"男"];
[test setAge:20];
2、沙盒存储:
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents = [array lastObject];
NSString *documentPath = [documents stringByAppendingPathComponent:@"TEST.av"];
//存储:
/*
***重点:对象类型数据不能直接写入文件,需要通过归档和返归档(即写入和读取)
*/
//归档
[NSKeyedArchiver archiveRootObject:test toFile:documentPath];
//返档
Test *result = [NSKeyedUnarchiver unarchiveObjectWithFile:documentPath];
//在类文件中要对对象编码、解码
//协议自带的两个方法:
#pragma mark 第二步:对test对象编码
- (void)encodeWithCoder:(NSCoder *)aCoder{
[aCoder encodeObject:self.name forKey:@"name"];
[aCoder encodeObject:self.gender forKey:@"gender"];
[aCoder encodeInteger:self.age forKey:@"age"];
}
#pragma mark 第三步:对text对象解码
- (id)initWithCoder:(NSCoder *)aDecoder{
self = [super init];
if (self) {
self.name = [aDecoder decodeObjectForKey:@"name"];
self.gender = [aDecoder decodeObjectForKey:@"gender"];
self.age = [aDecoder decodeIntegerForKey:@"age"];
}
return self;
}
结果如下表:但具体存储zhi
3.拓展:文件管理系统
创建一个文件管理器:
NSFileManager *fileManager = [NSFileManager defaultManager];
//文件系统下文件的增、删、查。
(1).增:就是创建文件夹的过程,具体见沙盒;
(2).查询文件管理器中指定路径下是否有某个文件
BOOL isExist = [fileManager fileExistsAtPath:documentPath];
(3).删除文件
BOOL isRemoved = [fileManager removeItemAtPath:documentPath error:nil];
相关文章推荐
- 使用CAGradientLayer设置view的渐变效果
- iOS 自动集成单元测试 - Jenkins与xctool整合
- iOS开发——高级篇——地图 MapKit
- iOS 三种多线程编程
- IOS使用XMPP最新教程(二)登陆实现
- IOS performSelector: 方法简述
- IOS SEL类型
- IOS开发基础知识--碎片22
- iOS多线程的一些使用心得
- iOS 退出系统,返回到登陆界面
- IOS中的多线程
- iOS讲解迷惑深入浅出之基础动画-关键帧动画
- 设置NavigationBar标题的颜色
- iOS经典讲解之NSNotification(通知)
- iOS开发开关
- iOS分段控制器
- iOS开发常用的代码
- iOS开发中那些高效常用的宏
- iOS开发:沙盒机制以及利用沙盒存储字符串、数组、字典等数据
- iOS开发 ----- AFNetWorkingSession