Snail—OC学习之本地数据持久化(归档)
来源:互联网 发布:蚁群算法基本步骤 编辑:程序博客网 时间:2024/05/21 09:31
#import <Foundation/Foundation.h>#import "Dog.h"int main(int argc, const char * argv[]){ @autoreleasepool { NSString * filePath = @"/Users/student/Desktop/snail/array.data"; //对官方类创建的对象进行存储 NSArray * array = @[@"one",@"two",@"three"]; //-------------------------归档-------------------------- //将array归档为文件 后缀一般为.data .data文件是二进制文件 打不开 /* 参数 第一个参数 归档的对象 第二个参数 文件的路径 */ [NSKeyedArchiver archiveRootObject:array toFile:filePath]; //-------------------------解档-------------------------- NSArray * arr = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; /* ( one, two, three ) */ NSLog(@"%@",arr); //------------对自定义类型的对象进行归、解档----------------- /* 对自定义类型的对象进行归档时,需要实现一个协议(NSCoding),并且实现协议中得方法 新建一个dog类 里面有名字name和age属性 */ NSString * dogPath = @"/Users/student/Desktop/snail/dog.data"; Dog * dog = [[Dog alloc] init]; dog.name = @"刀刀"; dog.age = 23; //----------------------归档-------------------- BOOL ret1 = [NSKeyedArchiver archiveRootObject:dog toFile:dogPath]; if (ret1) { NSLog(@"归档成功"); }else{ NSLog(@"失败"); } //----------------------解档-------------------- Dog * dog1 = [NSKeyedUnarchiver unarchiveObjectWithFile:dogPath]; NSLog(@"%@",dog1.name); } return 0;}
Dog.h
#import <Foundation/Foundation.h>//NSCoding 实现这个协议@interface Dog : NSObject <NSCoding>@property NSString * name;@property int age;@end
Dog.m
#import "Dog.h"@implementation Dog//归档自定义对象时调用的方法- (void)encodeWithCoder:(NSCoder *)aCoder{ //key的值是可以随便写的 但是在解档的方法里 要跟key的值一样的 //name是NSString类型 用encodeObject方法 [aCoder encodeObject:self.name forKey:@"NAME"]; //age是int类型,用encodeInt方法 [aCoder encodeInt:self.age forKey:@"AGE"];}//解档自定义对象时调用的方法- (id)initWithCoder:(NSCoder *)aDecoder{ if (self = [super init]) { self.name = [aDecoder decodeObjectForKey:@"NAME"]; self.age = [aDecoder decodeIntForKey:@"AGE"]; } return self;}
0 0
- Snail—OC学习之本地数据持久化(归档)
- Snail—OC学习之本地数据持久化(plist)
- 数据持久化之归档
- Snail—OC学习之Hello,World!
- Snail—OC学习之字符串NSString
- Snail—OC学习之数组NSArray
- Snail—OC学习之字典NSDictionary
- Snail—OC学习之选择器SEL
- Snail—OC学习之日期NSDate
- Snail—OC学习之NSNumber
- OC数据持久化方案2-NSKeyedArchiver归档
- iOS数据持久化之归档
- IOS数据持久化之对象归档
- IOS数据持久化之归档NSKeyedArchiver
- iOS数据持久化之归档
- iOS数据持久化之NSKeyedArchiver(归档)
- swift 数据持久化之归档
- iOS数据持久化之归档NSKeyedArchiver
- redmine拉取svn的数据时总是报404错误的解决方法
- android屏幕自适应
- google打不开的解决方法
- 【进阶android】Volley源码分析——Volley的缓存
- 多线程编程 基础篇 (四)
- Snail—OC学习之本地数据持久化(归档)
- 使用EasyUI实现文本框内容长度验证,对文本框输入内容提示“剩余可输入字数”
- ffmpeg解码流程学习总结
- poj_1065_Wooden Sticks
- LATEX 固定表格列宽并居中
- Android 颜色透明度
- json在线解析
- Maven setting.xml配置说明
- VMWare虚拟机提供的桥接、NAT和Host-only的区别