自定义对象要实现归档必须实现NSCoding协议

NSCoding协议有两个方法,encodeWithCoder方法对对象的属性数据做编码处理,initWithCoder解码归档数据来初始化对象。
示例1
.h头文件
#import <Foundation/Foundation.h> @interface user : NSObject <NSCoding> @property(nonatomic,retain)NSString *name; @property(nonatomic,retain)NSString *email; @property(nonatomic,retain)NSString *pwd; @property(nonatomic,assign)int age; @end
.m实现文件
#import "user.h"
#define AGE @"age"
#define NAME @"name"
#define EMAIL @"email"
#define PASSWORD @"password"
@implementation user
//对属性编码
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeInt:_age forKey:@"age"];
[aCoder encodeObject:_name forKey:AGE];
[aCoder encodeObject:_email forKey:EMAIL];
[aCoder encodeObject:_pwd forKey:PASSWORD];
}
//对属性解码
- (id)initWithCoder:(NSCoder *)aDecoder
{
self=[super init];
if(self)
{
self.age=[aDecoderdecodeIntForKey:AGE];
self.name=[aDecoderdecodeObjectForKey:NAME];
self.email=[aDecoderdecodeObjectForKey:EMAIL];
self.pwd=[aDecoderdecodeObjectForKey:PASSWORD];
}
return self;
}
-(void)dealloc
{
[_name release];
[_email release];
[_pwd release];
[super dealloc];
}
@end
main函数的调用
user *userObj=[[user alloc] init];
userObj.age=33;
userObj.email=@"adfdadf@qq.com";
userObj.pwd=@"212212";
userObj.name=@"ricard";
NSString *path=[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop/custom.text"];
BOOL succ=[NSKeyedArchiver archiveRootObject:userObj toFile:path];
if (succ) {
NSLog(@"Hello, World!");
user *usertemp=[NSKeyedUnarchiver unarchiveObjectWithFile:path];
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Objective-C基础自定义对象归档
# IOS
# 开发自定义对象归档
# 希望能
# 自定义
# 谢谢大家
# 头文件
# 有两个
# int
# nonatomic
# cpp
# age
# assign
# email
# NSString
# pwd
# retain
# void
# implementation
# aCoder
# NSCoder
# password
相关文章:
香港服务器部署网站为何提示未备案?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
如何用低价快速搭建高质量网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
建站主机服务器选型指南与性能优化方案解析
网站app免费制作软件,能免费看各大网站视频的手机app?
如何在自有机房高效搭建专业网站?
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
,怎么用自己头像做动态表情包?
如何配置支付宝与微信支付功能?
如何快速查询网站的真实建站时间?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
如何用wdcp快速搭建高效网站?
教学网站制作软件,学习*后期制作的网站有哪些?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
制作公司内部网站有哪些,内网如何建网站?
网站制作模板下载什么软件,ppt模板免费下载网站?
网站制作需要会哪些技术,建立一个网站要花费多少?
南宁网站建设制作定制,南宁网站建设可以定制吗?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
已有域名和空间如何搭建网站?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
想学网站制作怎么学,建立一个网站要花费多少?
如何通过.red域名打造高辨识度品牌网站?
建站之星如何修改网站生成路径?
如何选择美橙互联多站合一建站方案?
,如何利用word制作宣传手册?
如何快速搭建个人网站并优化SEO?
建站之星安装需要哪些步骤及注意事项?
上海网站制作开发公司,上海买房比较好的网站有哪些?
如何通过远程VPS快速搭建个人网站?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
相册网站制作软件,图片上的网址怎么复制?
建站之星备案是否影响网站上线时间?
存储型VPS适合搭建中小型网站吗?
建站上传速度慢?如何优化加速网站加载效率?
建站之星免费模板:自助建站系统与智能响应式一键生成
如何在Windows服务器上快速搭建网站?
高防服务器如何保障网站安全无虞?
西安大型网站制作公司,西安招聘网站最好的是哪个?
如何快速搭建高效服务器建站系统?
*请认真填写需求信息,我们会在24小时内与您取得联系。