如何在" Keychain"

时间:2018-03-23 12:58:48

标签: ios swift keychain

如何在" Keychain"中保存一组值,即字符串值。并将这些值作为列表访问。 我能够在String中保存单个值并访问它,但在数组的情况下很难。

2 个答案:

答案 0 :(得分:0)

将字符串数组序列化为JSON并保存。从钥匙串读取后反序列化。

答案 1 :(得分:0)

我建议你将它们编码为base64。使用CodableJSONSerialization。由于你有一个字符串数组(而不是自定义对象),我建议使用JSON。类似下面的事情应该做:

func stringFromArray(_ array: [String]) -> String? {
    return (try? JSONSerialization.data(withJSONObject: array, options: []))?.base64EncodedString()
}
func arrayFromString(_ string: String) -> [String]? {
    guard let data = Data(base64Encoded: string) else {
        return nil
    }
    return (try? JSONSerialization.jsonObject(with: data, options: .allowFragments)) as? [String]
}