回答編集履歴

4

true!

2018/05/30 08:05

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  //enable/disableの制御だけ
40
40
 
41
- saveButton.isEnabled = !(userName.text?.isEmpty ?? false)
41
+ saveButton.isEnabled = !(userName.text?.isEmpty ?? true)
42
42
 
43
43
  ```
44
44
 

3

補足

2018/05/30 08:05

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -41,3 +41,15 @@
41
41
  saveButton.isEnabled = !(userName.text?.isEmpty ?? false)
42
42
 
43
43
  ```
44
+
45
+
46
+
47
+ ---
48
+
49
+
50
+
51
+ ##### 補足
52
+
53
+
54
+
55
+ `nil`と`""`(未入力)は別物なのでキチンと区別しましょう。

2

全面書き換え

2018/05/30 07:21

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -1,10 +1,6 @@
1
- 今のコードだとuserName.textがnilのときdisableにならうな気が
1
+ 初期化時タップ無効していいかタップ出来てしまう、ということではいですかね
2
2
 
3
- (このTextFieldはコードで生成したものでしょうか?)
4
-
5
-
6
-
7
- あと、何度もaddTargetてしまうのマズイです
3
+ あと、addTargetが何度も呼ばれてしまうのマズイです。
8
4
 
9
5
 
10
6
 
@@ -18,9 +14,15 @@
18
14
 
19
15
  ```swift
20
16
 
17
+ //カラにする
18
+
21
19
  userName.text = ""
22
20
 
21
+ //タップ無効
22
+
23
23
  saveButton.isEnabled = false
24
+
25
+ //タップ処理を登録
24
26
 
25
27
  saveButton.addTarget(self, action: #selector(save(_:)), for: .touchUpInside)
26
28
 

1

isEmpty + nil考慮

2018/05/30 07:18

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -36,6 +36,6 @@
36
36
 
37
37
  //enable/disableの制御だけ
38
38
 
39
- saveButton.isEnabled = userName.text.count > 0
39
+ saveButton.isEnabled = !(userName.text?.isEmpty ?? false)
40
40
 
41
41
  ```