简体   繁体   English

ios swift parse:保存到钥匙串并从钥匙串打印出数据并进行登录

[英]ios swift parse: Saving to keychain and print out data from keychain and do a login

I implemented this code https://github.com/exchangegroup/keychain-swift to make use of the keychain. 我实现了这段代码https://github.com/exchangegroup/keychain-swift来使用钥匙串。 My question as a bloody beginner: 我的问题是一个血腥的初学者:

I use parse.com as API. 我使用parse.com作为API。 I would like to save username, password and nickname to the keychain in order to login the user automatically. 我想将用户名,密码和昵称保存到钥匙串中,以便自动登录用户。 What works right now quite well, but when I try to print out the nickname with 什么现在很好用,但当我尝试打印昵称时

let KeyChainNickname = "LocalNickname"
let currentNickname = TegKeychain.get(KeyChainNickname)
self.helloUserLabel.text = "Welcome \(currentNickname)"

I get this: Welcome Optional("MyNickname") which is the right nickname but surrounded by Optional("") 我明白了:欢迎可选(“MyNickname”)这是正确的昵称,但被Optional(“”)包围

How can I print out the name without that Optional("")? 如何在不使用Optional(“”)的情况下打印出名称?

As I use parse.com I could also just pin the user data, where is really the difference between Parse local data store and the keychain? 当我使用parse.com时,我也可以固定用户数据,Parse本地数据存储和钥匙串之间的区别是什么? Beside the fact, that the keychain can by synced to other ios devices? 除此之外,钥匙串可以同步到其他ios设备吗? Thats why I would prefer the keychain method. 这就是为什么我更喜欢钥匙串方法。

Thanks so much!! 非常感谢!!

Add this ! 加上这个! in your code like this: 在你的代码中像这样:

let currentNickname = TegKeychain.get(KeyChainNickname)!
self.helloUserLabel.text = "Welcome \(currentNickname)"

But you can use this ! 但是你可以用它! if you are sure that currentNickname will defiantly get a value. 如果您确定currentNickname将获得一个值。

And your output will be "MyNickname" . 你的输出将是"MyNickname"

EDIT: 编辑:

if let currentNickname = TegKeychain.get(KeyChainNickname){

self.helloUserLabel.text = "Welcome \(currentNickname)"
}

You can try this too. 你也可以尝试一下。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM