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

how can convert an object to NSData in objc

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

我现在需要将这个 admin 转换成 NSData,

有什么办法吗?

提前致谢。

您可以为任何符合 NSCodingNSSecureCoding 协议的对象获取 NSData:

NSData *data=[NSKeyedArchiver archivedDataWithRootObject:yourObject];

使用 unarchiveObjectWithData 再次转换为实际形式:

CustomCls *obj = [NSKeyedUnarchiver unarchiveObjectWithData:data];

先看看这个NSCoding link

正在归档您的对象

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:YourClass];

正在将您的数据解档到对象

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