的iOS 9.2.1,7.2.1的Xcode包括,ARC启用
base64EncodedString,dataFromBase64String:贬值的iOS 7.0后
更新的解决方案:
编码为字符串:
id<nscoding> obj;
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:obj];
NSString *string = [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
解码数据:
NSString *string;
NSData *data = [[NSData alloc] initWithBase64EncodedString:string options:(NSDataBase64DecodingIgnoreUnknownCharacters)];
id<nscoding> obj = [NSKeyedUnarchiver unarchiveObjectWithData:data];
注:与钥匙串来存储工作时,这是非常有用的将密钥/值对的字典转换为kSecValueData。
希望这可以帮助别人!干杯。
不幸的是,我不知道为什么,这似乎并不奏效。我得到一个非常短的字符串,例如“bplist00Ô”作为我的输出。 – kodai 2011-05-23 22:28:51
这绝对是奇怪的。我会测试一些东西作为替代品,并回复给你(希望)可以工作的东西 – justin 2011-05-23 22:30:46
我发布的内容对我来说是个窍门,但我注意到如果你用不同的方法将数据解码为字符串当你编码它时,你会得到错误。在对字符串进行编码之后,可以通过将'retain'添加到'dataFromString'实例来解决这个问题。希望这能解决你遇到的问题。如果不是,如有必要还有另一种可能的途径 – justin 2011-05-23 22:44:38