博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSCoder
阅读量:6454 次
发布时间:2019-06-23

本文共 1786 字,大约阅读时间需要 5 分钟。

person.h头文件内容

  1. #import <Foundation/Foundation.h>
  2. @interface Person : NSObject
  3. {
  4.     NSString *name;
  5.     char sex;
  6.     int age;
  7. }
  8. @property(nonatomic,copy) NSString *name;
  9. @property char sex;
  10. @property int age;
  11. @end

 

 person.m实现文件

  1. #import "Person.h"

 

  1. @implementation Person
  2. @synthesize name,age,gender;
  3. -(void)encodeWithCoder:(NSCoder *)aCoder
  4. {
  5.     
  6.     [aCoder encodeObject:name forKey:@"stuName"];
  7.     NSNumber *age1 = [NSNumber numberWithInt:age];
  8.     [aCoder encodeObject:age1 forKey:@"stuAge"];
  9.     NSNumber *gender1 = [NSNumber numberWithChar:gender];
  10.     [aCoder encodeObject:gender1 forKey:@"stuGender"];
  11. }
  12. -(id)initWithCoder:(NSCoder *)dCoder
  13. {
  14.     name = [dCoder decodeObjectForKey:@"stuName"];
  15.     age = [[dCoder decodeObjectForKey:@"stuAge"]intValue];
  16.     gender = [[dCoder decodeObjectForKey:@"stuGender"]charValue];
  17.     return self;
  18. }
  19. @end

 

 main.m测试文件

  1. #import <Foundation/Foundation.h>
  2. #import "Person.h"
  3. int main(int argc, const char * argv[]) {
  4.     @autoreleasepool {
  5.         Person *p1 = [[Person alloc]init];
  6.         p1.name = @"zhangsan";
  7.         p1.age = 22;
  8.         p1.gender = 'F';
  9.         Person *p2 = [Person new];
  10.         p2.name = @"lisi";
  11.         p2.age = 23;
  12.         p2.gender = 'M';
  13.         
  14.         NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithCapacity:30];
  15.         
  16.         [dic setObject:p1 forKey:@"person1"];
  17.         [dic setObject:p2 forKey:@"person2"];
  18.         //把字典内容存入到文件中
  19.         if ([NSKeyedArchiver archiveRootObject:dic toFile:@"/Users/mac/Desktop/a.plist"] ) {
  20.             NSLog(@"chenggong");
  21.         }
  22.         
  23.         NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithCapacity:30];
  24.         //从文件中读取内容放入到字典中
  25.         dic2 = [NSKeyedUnarchiver unarchiveObjectWithFile:@"/Users/mac/Desktop/a.plist"];
  26.         NSEnumerator *enumerator = [dic2 objectEnumerator];
  27.         id obj;
  28.         //遍历字典内容
  29.         while (obj = [enumerator nextObject]) {
  30.             NSLog(@"name = %@,age = %i,gender = %c",[obj name],[obj age],[obj gender]);
  31.         }
  32.     }
  33.     return 0;
  34. }

 

转载于:https://www.cnblogs.com/xjf125/p/4749749.html

你可能感兴趣的文章
Chrome新版JS调试工具
查看>>
php快速新建文件夹的方法
查看>>
“避免滥用单例”阅读笔记
查看>>
javascript中基础this的解释
查看>>
heartbeat2.1.3
查看>>
PDF Layers合并图层部分双层丢失
查看>>
FastDFS分布式文件系统nginx模块安装和部署
查看>>
关于JVM CPU资源占用过高的问题排查
查看>>
Hibernate通过SQL查询常量时只能返回第一个字符的解决方法
查看>>
史上最全的maven pom.xml文件教程详解
查看>>
使用Xmanager连接CentOS 7远程桌面
查看>>
java web中使 Browser 不缓存页面的过滤器(Filter - 2)
查看>>
D3在ID中selection.html()获取不到数据
查看>>
Ubuntu 下使用apt-get安装最新版本的MySQL
查看>>
ORACLE数据库日常维护
查看>>
zookeeper分布式锁的原理
查看>>
Highcharts Example
查看>>
TCP/IP详解学习笔记(二)--链路层笔记
查看>>
Maven 标准目录结构
查看>>
(转载)Hive学习笔记--Hive 高级编程
查看>>