全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Objective-C基础 自定义对象归档详解及简单实例

自定义对象要实现归档必须实现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小时内与您取得联系。