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

回答編集履歴

2

誤字修正

2021/09/23 10:27

投稿

退会済みユーザー
answer CHANGED
@@ -6,7 +6,7 @@
6
6
  }
7
7
  ```
8
8
 
9
- の `results` が空っぽで `praiseArray` に何も追加されておらず `randomElement()` で `nil` を返されているか、
9
+ の `results` が空っぽで `praiseArray` に何も追加されておらず `randomElement()` で `nil` を返されているか、
10
10
 
11
11
  ```swift
12
12
  selectedPraise = praiseArray.randomElement()

1

`nil`が入っているタイミングの想定を追加

2021/09/23 10:27

投稿

退会済みユーザー
answer CHANGED
@@ -6,19 +6,19 @@
6
6
  }
7
7
  ```
8
8
 
9
- の `results` が空っぽで `praiseArray` に何も追加されていないので、
9
+ の `results` が空っぽで `praiseArray` に何も追加されておらず `randomElement()` `nil` を返されているか
10
10
 
11
11
  ```swift
12
12
  selectedPraise = praiseArray.randomElement()
13
13
  ```
14
14
 
15
- も、何も取得ず `nil`。そのため
15
+ `selectedPraise.object(forKey: "word")` 適切な値を得られ、`as? String` によって `nil` を返されているか
16
16
 
17
17
  ```swift
18
18
  praiseTextView.text = selectedPraise.object(forKey: "word")as? String
19
19
  ```
20
20
 
21
- で `praiseTextView.text` に `nil` が入ってしまってます。
21
+ 最終的に `praiseTextView.text` に `nil` が入ってしまってます。
22
22
 
23
23
  `UITextView` の `text` は `String!` 型なので `nil` を入れられません。`nil` が入っているとオプショナルな値が入っていると想定して強制的にアンラップする結果、`Unexpectedly found nil while implicitly unwrapping an Optional value` エラーを引き起こします。
24
24
 
@@ -40,4 +40,4 @@
40
40
 
41
41
  ---
42
42
 
43
- なぜ `results` が空っぽなのかは質問の範疇にないので自分で調べてみてください。
43
+ なぜ `results` が空っぽなのか、また `selectedPraise.object(forKey: "word")` で期待する値が得られていないのかは質問の範疇にないので自分で調べてみてください。