回答編集履歴
1
追記
answer
CHANGED
@@ -46,4 +46,37 @@
|
|
46
46
|
|
47
47
|
という具合記述して、デバッグエリアに変換させたい値を表示させると、クラッシュ時にどのような文字列が渡ってきたか確認することが可能です。
|
48
48
|
|
49
|
-
ここで得られた値と、公式ドキュメント中にある変換例を見比べてみて、クラッシュした原因を解明されてはいかがでしょうか。
|
49
|
+
ここで得られた値と、公式ドキュメント中にある変換例を見比べてみて、クラッシュした原因を解明されてはいかがでしょうか。
|
50
|
+
|
51
|
+
##20200916追記
|
52
|
+
|
53
|
+
テキストフィールとを強制アンラップするには、`textField.text!` のように変数名の最後に `!` をつければ強制アンラップになります(コメントではつけていたのですが、見にくかったかもしれません)。
|
54
|
+
|
55
|
+
あるいは、たとえば下記の例ように、Stringの Extension を作り、ある文字列が Double 型に変換できるか判別させる方法もあるかと思います。
|
56
|
+
|
57
|
+
```Swift
|
58
|
+
@IBAction func confirmButton(_ sender: Any) {
|
59
|
+
if textField.text!.isEmpty {
|
60
|
+
print("文字列入力なし")
|
61
|
+
} else {
|
62
|
+
print("入力文字列は: ", textField.text!)
|
63
|
+
}
|
64
|
+
|
65
|
+
if !doubleField.text!.isDouble() {
|
66
|
+
print("Doubleではない")
|
67
|
+
} else {
|
68
|
+
print("入力された数値は: ", Double(doubleField.text!)!)
|
69
|
+
}
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
extension String {
|
74
|
+
func isDouble() -> Bool {
|
75
|
+
if let _ = Double(self) {
|
76
|
+
return true
|
77
|
+
} else {
|
78
|
+
return false
|
79
|
+
}
|
80
|
+
}
|
81
|
+
}
|
82
|
+
```
|