Swift 使用锁匠在钥匙链中存储多个值
能否在一个Swift 使用锁匠在钥匙链中存储多个值,swift,keychain,Swift,Keychain,能否在一个for useraccount下存储多个键/值对 try? Locksmith.saveData(["access_token" : access_token], forUserAccount: "UserData") try? Locksmith.saveData(["email" : email!], forUserAccount: "UserData") try? Locksmith.saveData(["markets" : market], forUserAccount: "
for useraccount
下存储多个键/值对
try? Locksmith.saveData(["access_token" : access_token], forUserAccount: "UserData")
try? Locksmith.saveData(["email" : email!], forUserAccount: "UserData")
try? Locksmith.saveData(["markets" : market], forUserAccount: "UserData")
查找电子邮件时,此代码失败。
。我唯一能做的就是为useraccount创建多个字符串:UserData
,UserData1
,UserData3
,等等。我尝试了updateData
,但运气不佳。如果用户帐户的forUserAccount
必须是唯一的,那么它的用途是什么?如果是这样的话,似乎没有必要
let userIDNumber = userID as NSNumber
let userIDString : String = userIDNumber.stringValue
let keychainData = [_keychainEmailKey: email, _keychainPasswordKey: password, _keychainUserIDKey: userIDString]
Locksmith.updateData(keychainData, forUserAccount: email)
其中\u keychainEmailKey
等是键的常量。因此,forUserAccount
应该是唯一的,可能它覆盖了以前的值 正如@nyekimov的回答所暗示的,可以为帐户存储一个值字典。为了澄清,这里有一个代码片段:
do
{
try Locksmith.saveData(["user": "notMyRealUsername", "password":"123456"], forUserAccount: "myUserAccount") //store it
let dictionary = Locksmith.loadDataForUserAccount("myUserAccount") //load it
print(dictionary) //let's see what we've got
}
catch
{
// handle errors here
}
当帐户存在时,请使用尝试Locksmith.updateData([“用户”:“NotMyRealUserName”、“密码”:“123456”]、forUserAccount:“myUserAccount”)