keychainWrapper提供了存储NSString
(如密码)的机制。
我还可以将NSArray
或NSDictionary
存储在keychainWrapper
吗?
答案 0 :(得分:7)
您可以使用NSKeyedArchiver
和NSKeyedUnarchiver
,如果自定义对象存储在字典数组中,请确保该类实现NSCoding
协议。
NSData * encodedData = [NSKeyedArchiver archivedDataWithRootObject:array];
然后,您可以使用base64编码http://www.cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html
将NSData转换为NSString要取消归档它只是向后退,使用来自base64 NSData
的get NSString
并使用unarchiver
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data];