場景:希望把對象存儲到本地數(shù)據(jù)庫,但數(shù)據(jù)庫只支持字符串類型的數(shù)據(jù)。
NSObject轉(zhuǎn)NSString:
// response是NSObject
// 歸檔(NSObject) 轉(zhuǎn)成 NSData
NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
archiver.outputFormat = NSPropertyListXMLFormat_v1_0;
// @"root"不能改
[archiver encodeObject:response forKey:@"root"];
[archiver finishEncoding];
// NSData 轉(zhuǎn)成 NSString
NSString *responseStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSString轉(zhuǎn)NSOject:
// NSString 轉(zhuǎn)成 NSData
NSData *data = [responseStr dataUsingEncoding:NSUTF8StringEncoding];
// 解檔(NSData) 轉(zhuǎn)成 NSOject
FMNetworkResponse *response = [NSKeyedUnarchiver unarchiveObjectWithData:data];
希望對你有幫助。