##わからないこと
task = URLSession.shared.dataTask(with: URL(string: url)!) { (data, res, err) in if let obj = try! JSONSerialization.jsonObject(with: data!) as? [String: Any] {
上のソースコードでおいて、2行目に置いてdata!と書かれています。
!をつけることで強制アンラップをしていると思うのですが、そもそも1行目でdataはオプショナル型で定義されていないので、アンラップはできないと思うのですが、どうでしょうか。
task = URLSession.shared.dataTask(with: URL(string: url)!) { (data?, res, err) in if let obj = try! JSONSerialization.jsonObject(with: data) as? [String: Any] {
やあるいは
task = URLSession.shared.dataTask(with: URL(string: url)!) { (data, res, err) in if let obj = try! JSONSerialization.jsonObject(with: data) as? [String: Any] {
が正しいと考えるのですが、コンパイルエラーを起こしてしまいます。
##懸念点
クロージャの引数となっていること
回答1件
あなたの回答
tips
プレビュー

2020/06/07 00:02
2020/06/07 00:04