如何在objc中将对象转换为NSData

时间:2017-03-14 14:44:28

标签: objective-c nsdata

现在,我有一个班级假设它 class User ... .. 我有一个实例User * admin = [[User alloc]init];

我现在需要将此admin转换为NSData

有没有办法这样做?

提前致谢。

3 个答案:

答案 0 :(得分:2)

对于符合NSDataNSCoding协议的任何对象,您可以获得NSSecureCoding

NSData *data=[NSKeyedArchiver archivedDataWithRootObject:yourObject];

使用unarchiveObjectWithData再次转换为实际表单:

CustomCls *obj = [NSKeyedUnarchiver unarchiveObjectWithData:data];

答案 1 :(得分:2)

首先看看这个NSCoding link

存档您的对象

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:YourClass];

将您的数据取消归档到对象

YourClass *objYourClass = [NSKeyedUnarchiver unarchiveObjectWithData:data];

答案 2 :(得分:0)

NSData *modelData = [NSKeyedArchiver archivedDataWithRootObject:UserLoginDetails requiringSecureCoding:true error:nil];
NSDictionary *selectedUserLoginDetails = [NSKeyedUnarchiver unarchivedObjectOfClass:[NSDictionary class] fromData:modelData error:nil];
NSLog(@"%@", selectedUserLoginDetails);