自定义对象要实现归档必须实现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
相关文章:
如何实现建站之星域名转发设置?
如何零基础开发自助建站系统?完整教程解析
建站之星logo尺寸如何设置最合适?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
如何高效配置IIS服务器搭建网站?
如何获取免费开源的自助建站系统源码?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
如何零成本快速生成个人自助网站?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
建站与域名管理如何高效结合?
,在苏州找工作,上哪个网站比较好?
Swift开发中switch语句值绑定模式
如何高效利用亚马逊云主机搭建企业网站?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
建站主机是否等同于虚拟主机?
如何通过虚拟机搭建网站?详细步骤解析
Android滚轮选择时间控件使用详解
如何在服务器上三步完成建站并提升流量?
建站之星安装后界面空白如何解决?
北京专业网站制作设计师招聘,北京白云观官方网站?
制作网站的软件免费下载,免费制作app哪个平台好?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何快速查询网站的真实建站时间?
如何在云指建站中生成FTP站点?
如何通过山东自助建站平台快速注册域名?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
完全自定义免费建站平台:主题模板在线生成一站式服务
如何自定义建站之星网站的导航菜单样式?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
如何快速生成橙子建站落地页链接?
如何通过老薛主机一键快速建站?
如何在Windows环境下新建FTP站点并设置权限?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
如何快速搭建安全的FTP站点?
如何选择高效便捷的WAP商城建站系统?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
Python lxml的etree和ElementTree有什么区别
如何快速搭建FTP站点实现文件共享?
如何彻底删除建站之星生成的Banner?
c# 服务器GC和工作站GC的区别和设置
名字制作网站免费,所有小说网站的名字?
如何通过wdcp面板快速创建网站?
已有域名如何免费搭建网站?
制作营销网站公司,淘特是干什么用的?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
制作表格网站有哪些,线上表格怎么弄?
网站制作的步骤包括,正确网址格式怎么写?
*请认真填写需求信息,我们会在24小时内与您取得联系。