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

質問編集履歴

2

誤字修正

2019/12/03 14:44

投稿

aae_11
aae_11

スコア178

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  [ダウンキャスト](https://fukatsu.tech/swift-cast)について、お聞きしたいことがございます。
2
2
  以下のコード内の、```let int = any as! Int ```こちらは実行時エラーとなってしまいます。
3
- 自分の理解している範囲では、コンパイル時にチェックされる型は実体(値)の型ではなく、変数の型だと認識しております。その為、コンパイル時にはエラーが発生しないものかと思うのですが、実行時にエラーが発生してしまうということは、実行の際にプログラムがチェックしている型は実体(値)な為、実行時にエラーが発生してしまうといった理解で正しいでしょうか?
3
+ 自分の理解している範囲では、コンパイル時にチェックされる型は実体(値)の型ではなく、変数の型だと認識しております。その為、コンパイル時にはエラーが発生しないものかと思うのですが、実行時にエラーが発生してしまうということは、実行の際にプログラムがチェックしている型は実体(値)な為、実行時にエラーが発生してしまうといった理解で合ってますでしょうか?
4
4
  ```
5
5
  let any: Any = "sample" as Any
6
6
  let string = any as! String //"sample"

1

誤字修正

2019/12/03 14:44

投稿

aae_11
aae_11

スコア178

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  [ダウンキャスト](https://fukatsu.tech/swift-cast)について、お聞きしたいことがございます。
2
- 以下のコードにおきまして、```let int = any as! Int ```こちらは実行時エラーとなってしまいますが、何故なのでしょうか?
2
+ 以下のコード内の、```let int = any as! Int ```こちらは実行時エラーとなってしまいます
3
3
  自分の理解している範囲では、コンパイル時にチェックされる型は実体(値)の型ではなく、変数の型だと認識しております。その為、コンパイル時にはエラーが発生しないものかと思うのですが、実行時にエラーが発生してしまうということは、実行の際にプログラムがチェックしている型は実体(値)な為、実行時にエラーが発生してしまうといった理解で正しいでしょうか?
4
4
  ```
5
5
  let any: Any = "sample" as Any