回答編集履歴

1

参考として、問題を絞っていくときの考え方を追記しました。

2021/08/12 10:19

投稿

TomohiroKumagai
TomohiroKumagai

スコア441

test CHANGED
@@ -13,3 +13,23 @@
13
13
  screenWidth: Double = Double(UIScreen.main.bounds.size.width)
14
14
 
15
15
  ```
16
+
17
+
18
+
19
+ ###### 問題を絞っていくときの進め方(参考)
20
+
21
+
22
+
23
+ 今回の場合、型が一致していないというメッセージから `Double(UIScreen` あたりが怪しいと目星をつけていらしたとのことで、それ自体は的確な疑い方だったように思います。
24
+
25
+
26
+
27
+ そうした時に、`Double` 型のイニシャライザーに渡している `UIScreen.mainScreen().bounds.size.width` の値が適切であるかを見ていくことになると思うのですけれど、型が違うと言われているので、最終的な `width` の型が何かを調べてみます。
28
+
29
+
30
+
31
+ そのプロパティーの型が何かを調べるときには、Xcode を使っているなら、通常であればそのプロパティーを「option キーを押しながらクリック」すると判ります。ただ、このときに「No Quick Help」と表示されて、上手く確認できないことがわかりました。それならその手前の `size` はどうだろう、と同じ手順で調べてみても確認できず、そうして順番に調べて行って、結局 `mainScreen()` まで確認できないことがわかります。`UIScreen` はしっかり確認できるので、そうなると `mainScreen()` が間違っていそう(存在しなさそう)なことが窺えてきます。
32
+
33
+
34
+
35
+ ここから先は `mainScreen` が新しいバージョンでは `main` に変更されているということに辿り着かないといけなくて、これ以上の解決は知識を深めていかないと難しいところかもしれないですけれど、問題箇所はほぼ特定できているので、最初よりはだいぶ調べやすくなっていると思います。