2019独角兽企业重金招聘Python工程师标准>>>

//
//  main.m
//  自定义对象的归档
//
//  Created by on 14-11-9.
//  Copyright (c) 2014年 Apple. All rights reserved.
//#import <Foundation/Foundation.h>
#import "User.h"int main(int argc, const char * argv[]) {@autoreleasepool {/*******归档*******/User *user = [[User alloc] init];user.name = @"Tom";user.email = @"aaa@cc.com";user.password = @"123";user.age = 22;NSString *filePath = @"/Users/wujiafeng/Desktop/archiver";BOOL success = [NSKeyedArchiver archiveRootObject:user toFile:filePath];if (success) {NSLog(@"归档成功");}/********解归档********/User *unUser = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];NSLog(@"%@", unUser);}return 0;
}
//
//  User.h
//  自定义对象的归档
//
//  Created by on 14-11-10.
//  Copyright (c) 2014年 Apple. All rights reserved.
//#import <Foundation/Foundation.h>@interface User : NSObject<NSCoding>@property(nonatomic, copy) NSString *name;
@property(nonatomic, copy) NSString *email;
@property(nonatomic, copy) NSString *password;
@property(nonatomic, assign) NSInteger age;@end
//
//  User.m
//  自定义对象的归档
//
//  Created by on 14-11-10.
//  Copyright (c) 2014年 Apple. All rights reserved.
//#import "User.h"@implementation User#define NAME @"name"
#define EMAIL @"email"
#define PASSWORD @"password"
#define AGE @"age"// 对属性编码,归档时候会调用
- (void)encodeWithCoder:(NSCoder *)aCoder {NSLog(@"对属性编码");[aCoder encodeObject:_name forKey:NAME];[aCoder encodeObject:_email forKey:EMAIL];[aCoder encodeObject:_password forKey:PASSWORD];[aCoder encodeInteger:_age forKey:AGE];
}// 对属性解码,解归档时会调用
- (id)initWithCoder:(NSCoder *)aDecoder {if (self = [super init]) {NSLog(@"对属性解码");_name = [aDecoder decodeObjectForKey:NAME];_email = [aDecoder decodeObjectForKey:EMAIL];_password = [aDecoder decodeObjectForKey:PASSWORD];_age = [aDecoder decodeIntegerForKey:AGE];}return self;
}- (NSString *) description {NSString *str = [NSString stringWithFormat:@"name=%@, email=%@, password=%@, age=%ld", _name, _email, _password, _age];return str;
}@end

转载于:https://my.oschina.net/are1OfBlog/blog/342618

Object-C代码练习【自定义对象的归档】相关推荐

  1. 如何使用YYCache存储自定义对象

    YYCache是一个缓存框架,由YYCache.YYDiskCache.YYMemoryCache和YYKVStorage组成.在项目开发过程中,想通过YYCache存储一个自定义对象,这个对象包括文 ...

  2. rcnn代码实现_轻松学Pytorch实现自定义对象检测器

    点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 大家好,今天来继续更新轻松学Pytorch专栏,这个是系列文章我会一直坚持写下去的,希望大家转发.点赞.留言支 ...

  3. objective-C 自定义对象归档的实现

    自定义对象要实现归档必须实现NSCoding协议 NSCoding协议有两个方法,encodeWithCoder方法对对象的属性数据做编码处理,initWithCoder解码归档数据来初始化对象. # ...

  4. 模型训练平台的构建_用5行代码构建自定义训练的对象检测模型

    模型训练平台的构建 如今,机器学习和计算机视觉已成为一种热潮. 我们都已经看到了有关自动驾驶汽车和面部识别的新闻,并且可能想象到建立我们自己的计算机视觉模型将会多么酷. 但是,进入该领域并不总是那么容 ...

  5. 用5行代码构建自定义训练的对象检测模型

    如今,机器学习和计算机视觉已成为一种热潮. 我们都已经看到了有关自动驾驶汽车和面部识别的新闻,并且可能想象到建立我们自己的计算机视觉模型将会多么酷. 但是,进入该领域并不总是那么容易,尤其是在没有扎实 ...

  6. ObjC学习11-复制对象与归档

    感觉这两个概念有点朦胧,为了学习路线的完整性,这里浅浅地学习下,不懂的以后实践再去想懂~ 1.复制对象 Foundation类实现了名为copy和mutableCopy的方法 可以用这些方法来创建对象 ...

  7. 按属性对自定义对象的ArrayList进行排序

    我读过有关使用Comparator对ArrayList进行排序的信息,但在所有示例中,人们都使用了compareTo ,根据一些研究,它是String的一种方法. 我想按自定义对象的属性之一对Arra ...

  8. [置顶] 深入浅出Javascript(三)创建自定义对象以及属性、方法

    怎么样创建一个对象? 利用Object创建自定义对象 JavaScript能够自定义对象来扩展程序的功能,不仅如此,它还能扩展JavaScript提供的内置对象,新增内置对象的属性或方法 例如下面代码 ...

  9. JavaScript 自定义对象

    原文:JavaScript 自定义对象 在Js中,除了Array.Date.Number等内置对象外,开发者可以通过Js代码创建自己的对象. 目录 1. 对象特性:描述对象的特性 2. 创建对象方式: ...

最新文章

  1. Mysql8 查询事务隔离级别
  2. PHP中IP地址与整型数字互相转换详解
  3. 小森林顺序_这篇微推价值过亿!仁恒公园世纪二期选房顺序“摇号”,1:7!
  4. aix Oracle 限制访问,改变AIX上使用oracle的一些限制
  5. 10BASE-2 是什么意思
  6. ## CSP (C语言)201712-2 游戏
  7. BroadcastReceiver广播
  8. 考勤机信息同步不到服务器,考勤机实时同步功能上线啦
  9. IDEA的常用快捷键(超详细)
  10. Fiddler大解析!抱歉,抓包抓得好真的可以为所欲为
  11. 微信公众号编辑排版规范(试行版)
  12. MySQL错误Got error -1 from storage engine
  13. 【DDRNet】DDRNet项目使用单GPU、自己的数据集训练、得到测试图像
  14. Android高仿微信图片多选功能
  15. 招商银行信用卡中心邀请你参加M-Geeker技术竞赛初赛
  16. IDS V99 for Ford Mazda Released at wobd2
  17. html文件访问遭拒,防止IE中出现“ SCRIPT5:访问被拒绝”错误
  18. 五款免费pdf转换成word软件
  19. 数据库优化问题【刘新宇】
  20. CS231n 两层神经网络反向传播实现

热门文章

  1. 面试:HashMap 夺命二十一问!鸡哥都扛不住~
  2. 腾讯!阿里!大二男生斩获4家头部科技公司实习offer!完整经验总结!
  3. 最新通知!多所高校明确:开学上网课!
  4. 初学者必学的C++项目!花3天搞定
  5. 刷爆 AI 圈!基于 Transformer 的 DALL-E 代码刚刚开源了
  6. TensorRT和PyTorch模型的故事
  7. 数百个CV实战项目与必备7本书5000页中英文CV书籍以及算法工程师必备资料免费送啦~...
  8. 机器人替代研究员,工作007,完成688次实验,登上Nature封面
  9. 他24岁,4篇Nature在手,也会关心学不懂C语言怎么办
  10. ICCV19 (Oral) | 基于贝叶斯损失函数的人群计数