ViewController.swift 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import UIKit
  2. import KeychainSwift
  3. let TegKeychainDemo_keyName = "my key"
  4. class ViewController: UIViewController {
  5. @IBOutlet weak var textField: UITextField!
  6. @IBOutlet weak var valueLabel: UILabel!
  7. @IBOutlet weak var synchronizableSwitch: UISwitch!
  8. let keychain = KeychainSwift()
  9. override func viewDidLoad() {
  10. super.viewDidLoad()
  11. updateValueLabel()
  12. }
  13. @IBAction func onSaveTapped(_ sender: AnyObject) {
  14. closeKeyboard()
  15. if let text = textField.text {
  16. keychain.synchronizable = synchronizableSwitch.isOn
  17. keychain.set(text, forKey: TegKeychainDemo_keyName)
  18. updateValueLabel()
  19. }
  20. }
  21. @IBAction func onDeleteTapped(_ sender: AnyObject) {
  22. closeKeyboard()
  23. keychain.synchronizable = synchronizableSwitch.isOn
  24. keychain.delete(TegKeychainDemo_keyName)
  25. updateValueLabel()
  26. }
  27. @IBAction func onGetTapped(_ sender: AnyObject) {
  28. closeKeyboard()
  29. updateValueLabel()
  30. }
  31. private func updateValueLabel() {
  32. keychain.synchronizable = synchronizableSwitch.isOn
  33. if let value = keychain.get(TegKeychainDemo_keyName) {
  34. valueLabel.text = "In Keychain: \(value)"
  35. } else {
  36. valueLabel.text = "no value in keychain"
  37. }
  38. }
  39. private func closeKeyboard() {
  40. textField.resignFirstResponder()
  41. }
  42. @IBAction func didTapView(_ sender: AnyObject) {
  43. closeKeyboard()
  44. }
  45. }