如何将对象转换为 objc 中的 NSData
how can convert an object to NSData in objc
现在,我有一个 class 假设它是
class User ...
..
我有一个实例 User * admin = [[User alloc]init];
我现在需要将这个 admin
转换成 NSData
,
有什么办法吗?
提前致谢。
您可以为任何符合 NSCoding
或 NSSecureCoding
协议的对象获取 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);
现在,我有一个 class 假设它是
class User ...
..
我有一个实例 User * admin = [[User alloc]init];
我现在需要将这个 admin
转换成 NSData
,
有什么办法吗?
提前致谢。
您可以为任何符合 NSCoding
或 NSSecureCoding
协议的对象获取 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);