永发信息网

如何序列化包含NSData的对象呢?

答案:2  悬赏:20  手机版
解决时间 2021-03-21 19:32
如何序列化包含NSData的对象呢?
最佳答案
@interface Donkey : NSObject{ NSString* s; NSData* d;}@property (nonatomic, retain) NSString* s;@property (nonatomic, retain) NSData* d;- (NSData*) serialize;@end@implementation Donkey@synthesize s, d;static NSString* const KEY_S = @"string";static NSString* const KEY_D = @"data";- (void) encodeWithCoder:(NSCoder*)coder{ [coder encodeObject:self.s forKey:KEY_S]; [coder encodeObject:self.d forKey:KEY_D];}- (id) initWithCoder:(NSCoder*)coder;{ if(self = [super init]) { self.s = [coder decodeObjectForKey:KEY_S]; self.d = [coder decodeObjectForKey:KEY_D]; } return self;}- (NSData*) serialize{ return [NSKeyedArchiver archivedDataWithRootObject:self];}@end
全部回答
nt main (int argc, const char * argv[]) {05 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 06 07 Sample *s1 = [[Sample alloc] initWithName:@"thing1" magicNumber:42 shoeSize:10.5]; 08 [s1.subThingies addObject:@"1"];09 [s1.subThingies addObject:@"2"];10 NSLog(@"%@",s1); 11 NSData *data1 = [NSKeyedArchiver archivedDataWithRootObject:s1];//将s1序列化后,保存到NSData中12 [s1 release];13 [data1 writeToFile:@"/tmp/data.txt" atomically:YES];//持久化保存成物理文件14 15 NSData *data2 = [NSData dataWithContentsOfFile:@"/tmp/data.txt"];//读取文件16 Sample *s2 = [NSKeyedUnarchiver unarchiveObjectWithData:data2];//反序列化 17 NSLog(@"%@",s2);18 19 [pool drain];20 return 0;21 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
急!!!!!!!!!求钢铁是怎样炼成的主人
光明佳宴贺州餐饮名店在什么地方啊,我要过去
2016款凯美瑞裸车价格多少钱 4s店促销全系降
仙剑3问情篇以物易物任务攻略?
为什么司马迁把陈涉放在“世家”鲁迅对《史记
高山流水是用什么琴弹出来的
包黑子的售后怎么样
选择和喜欢的人在一起还是喜欢你的人在一起辩
游戏互动迷语:有一人喝醉酒了谁都不知道服,
金旺得火,方成器皿 这句话的含义
高考复习一年究竟能提多少分?
微信上好多微商,那些东西都可靠吗
严打18种惰怠行为绝不手软读后感怎么写
爱的甲骨文怎么写,甲骨文,金文,小篆,隶书
恒定电压和恒定电流驱动器之间的区别是什么
推荐资讯
华为5X刷小米系统指纹解锁还能用吗
苏轼最著名的七首诗词,求苏轼最有名的诗词10
文征明是否是文天祥的后代?
陌陌加入工会提现的百分之二十五都没有了
雷克萨斯lx570故障码p2433
如何用ps将风景照片调成青蛙旅行的画风
龙之谷为什么别人发给我邮件我没收到!!求解
琪雅里面有款产品治便秘的叫什么
才买的苹果六掉水里了,这样的情况可以去原购
守望先锋典藏版奖励买了多长时间到
I am worker at the tap water company. I fi
世纪风广告装饰这个地址在什么地方,我要处理
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?