teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

2020/06/30 02:30

投稿

oeiqgfodgfhps
oeiqgfodgfhps

スコア35

title CHANGED
File without changes
body CHANGED
@@ -4,6 +4,31 @@
4
4
  また、画面遷移のテストコードの書き方はどのように記述すればいいのでしょうか?調べてみましたが、自分では理解することが困難でした。
5
5
  テストのことを全く考えずにコードを書いてしまったので、テストしやすいコードの書き方という観点からも、こういう書き方にするべきというご意見がありましたら、ご指摘お願いいたします。
6
6
  ```swift
7
+
8
+ import UIKit
9
+ import FirebaseFirestore
10
+ import Firebase
11
+
12
+ class EditViewController: UIViewController,UITextFieldDelegate {
13
+
14
+ let db = Firestore.firestore()
15
+ var titleString = String()
16
+ var moneyString = String()
17
+ var descriptionString = String()
18
+ var documentIdString = String()
19
+
20
+ @IBOutlet weak var editButton: UIButton!
21
+ @IBOutlet weak var titleTextField: UITextField!
22
+ @IBOutlet weak var moneyTextField: UITextField!
23
+ @IBOutlet weak var descriptionTextField: UITextField!
24
+ override func viewDidLoad() {
25
+ super.viewDidLoad()
26
+ titleTextField.text = titleString
27
+ moneyTextField.text = moneyString
28
+ descriptionTextField.text = descriptionString
29
+ moneyTextField.keyboardType = UIKeyboardType.numberPad
30
+ }
31
+
7
32
  @IBAction func edit(_ sender: Any) {
8
33
  let title = titleTextField.text
9
34
  let money = moneyTextField.text!
@@ -15,11 +40,36 @@
15
40
  if let err = err {
16
41
  print("Error updating document: (err)")
17
42
  } else {
18
- let indexVC = self.storyboard?.instantiateViewController(identifier: "index") as! IndexViewController
19
- indexVC.modalPresentationStyle = .fullScreen
20
- self.present(indexVC, animated: true, completion: nil)
43
+ print("Document successfully updated")
21
44
  }
22
45
  }
46
+ let indexVC = self.storyboard?.instantiateViewController(identifier: "index") as! IndexViewController
47
+ indexVC.modalPresentationStyle = .fullScreen
48
+ present(indexVC, animated: true, completion: nil)
23
49
  }
24
50
 
51
+ func textFieldShouldReturn(_ textField: UITextField) -> Bool {
52
+ if titleTextField.text == ""||moneyTextField.text == ""{
53
+ editButton.isEnabled = false
54
+ }else{
55
+ editButton.isEnabled = true
56
+ }
57
+ titleTextField.resignFirstResponder()
58
+ moneyTextField.resignFirstResponder()
59
+ descriptionTextField.resignFirstResponder()
60
+ return true
61
+ }
62
+
63
+ override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
64
+ if titleTextField.text == ""||moneyTextField.text == ""{
65
+ editButton.isEnabled = false
66
+ }else{
67
+
68
+ editButton.isEnabled = true
69
+ }
70
+ titleTextField.resignFirstResponder()
71
+ moneyTextField.resignFirstResponder()
72
+ descriptionTextField.resignFirstResponder()
73
+
74
+
25
75
  ```