iphone - IOS中keychainWrapper中存放NSArray或NSDictionary

标签 iphone ios objective-c ipad

keychainWrapper提供存储 NSString(如密码)的机制。

我还可以将 NSArrayNSDictionary 存储在 keychainWrapper 中吗?

最佳答案

您可以使用 NSKeyedArchiverNSKeyedUnarchiver,如果您有自定义对象存储在字典数组中,请确保该类实现了 NSCoding 协议(protocol)。

NSData * encodedData = [NSKeyedArchiver archivedDataWithRootObject:array];

然后您可以使用 base64 编码将 NSData 转换为 NSString http://www.cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html

对于解档它只是倒退,使用 get NSData 从 base64 NSString 并使用解档器

NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data];

关于iphone - IOS中keychainWrapper中存放NSArray或NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14658965/

相关文章:

ios - 在线和离线管理 iPhone 应用程序

ios - 关于所选按钮的奇怪外观

ios - swift 如何让动画在两个 UIView 之间翻转

ios - 调整 NSMutableAttributedString 的字体大小与 UILabel 的框架高度成比例

iphone - iOS LPCM Non-interleaved Audio input with 2 channels : not possible?

iphone - 如何在一个圆圈中定位和裁剪 UIImage

ios - 获取其他ios应用的版本号

ios - 如何检测应用程序是从应用程序商店还是从 MDM 商店安装的?

objective-c - 无需使用浏览器扩展即可控制下载

ios - 如何在 iOS 的 tableView 上添加 imageView