国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

Objective-C基礎 自定義對象歸檔詳解及簡單實例

2020-07-26 02:51:47
字體:
來源:轉載
供稿:網友

自定義對象要實現歸檔必須實現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];  }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨竹工卡县| 电白县| 信阳市| 当阳市| 崇文区| 靖江市| 白河县| 鄂温| 惠来县| 临朐县| 黑山县| 清苑县| 大理市| 卓资县| 孝感市| 保定市| 金寨县| 揭西县| 三穗县| 抚松县| 河曲县| 安庆市| 金乡县| 高尔夫| 新和县| 清水县| 龙州县| 南康市| 吉安市| 山丹县| 凌云县| 南平市| 富源县| 烟台市| 平昌县| 略阳县| 五家渠市| 乌兰浩特市| 富民县| 内丘县| 东乌|