Guest User

Untitled

a guest
May 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. import Foundation
  2.  
  3. class ValuesModel {
  4. var value1 = ""
  5. var value2 = ""
  6.  
  7. init(v1: String, v2: String) {
  8.  
  9. self.value1 = v1
  10. self.value2 = v2
  11. }
  12.  
  13. func getValues() {
  14. NotificationCenter.default.addObserver(forName: .saveValue1, object: nil, queue: OperationQueue.main) {
  15. (notification) in
  16. let val1 = notification.object as! Value1ViewController
  17. self.value1 = val1.v1
  18. UserDefaults.standard.set(self.value1, forKey: "value1")
  19. }
  20.  
  21. NotificationCenter.default.addObserver(forName: .saveValue2, object: nil, queue: OperationQueue.main) {
  22. (notification) in
  23. let val2 = notification.object as! Value2ViewController
  24. self.value2 = val2.v2
  25. UserDefaults.standard.set(self.value2, forKey: "value1")
  26. }
  27. }
  28.  
  29. }
  30.  
  31. import UIKit
  32.  
  33. class MainViewController: UIViewController {
  34.  
  35. @IBOutlet weak var calcLbl: UILabel!
  36. @IBOutlet weak var value1: UILabel!
  37. @IBOutlet weak var value2: UILabel!
  38.  
  39. var data = calculations()
  40.  
  41. override func viewDidLoad() {
  42. super.viewDidLoad()
  43.  
  44. NotificationCenter.default.addObserver(forName: .saveValue1, object: nil, queue: OperationQueue.main) {
  45. (notification) in
  46. let val1 = notification.object as! Value1ViewController
  47. self.value1.text = val1.v1
  48. UserDefaults.standard.set(self.value1.text, forKey: "value1")
  49. }
  50.  
  51. NotificationCenter.default.addObserver(forName: .saveValue2, object: nil, queue: OperationQueue.main) {
  52. (notification) in
  53. let val2 = notification.object as! Value2ViewController
  54. self.value2.text = val2.v2
  55. UserDefaults.standard.set(self.value2.text, forKey: "value1")
  56. }
  57. }
  58.  
  59. override func viewWillAppear(_ animated: Bool) {
  60. if let lastValue1 = UserDefaults.standard.object(forKey: "value1") as? String {
  61. value1.text = lastValue1
  62. }
  63. if let lastValue2 = UserDefaults.standard.object(forKey: "value2") as? String {
  64. value2.text = lastValue2
  65. }
  66. }
  67.  
  68. @IBAction func calculateBtn(_ sender: UIButton) {
  69. calcLbl.text = data.calc1()
  70.  
  71. }
  72.  
  73.  
  74. }
  75.  
  76. import UIKit
  77.  
  78. class Value1ViewController: UIViewController, UITextFieldDelegate {
  79.  
  80. @IBOutlet weak var value1: UITextField!
  81. @IBOutlet weak var popUpView: UIView!
  82.  
  83. var v1 = ""
  84.  
  85. override func viewWillAppear(_ animated: Bool) {
  86. if let lastValue1Data = UserDefaults.standard.object(forKey: "value1") as? String {
  87. value1.text = lastValue1Data
  88. }
  89. }
  90.  
  91. override func viewDidLoad() {
  92. super.viewDidLoad()
  93.  
  94. popUpView.layer.cornerRadius = 10
  95. popUpView.layer.masksToBounds = true
  96. }
  97.  
  98. @IBAction func done_touchUpInside(_ sender: UIButton) {
  99. v1 = value1.text!
  100. NotificationCenter.default.post(name: Notification.Name.saveValue1, object: self)
  101. dismiss(animated: true, completion: nil)
  102. UserDefaults.standard.set(self.v1, forKey: "value1")
  103. }
  104. }
  105.  
  106. import Foundation
  107.  
  108. class calculations {
  109. let v: ValuesModel = ValuesModel(v1: "", v2: "")
  110.  
  111. func calc1() -> String {
  112. let x = Double(self.v.value1)!
  113. let y = Double(self.v.value2)!
  114. let z = x + y
  115. return "(z)"
  116. }
  117. }
Add Comment
Please, Sign In to add comment