###この質問に至った経緯
Alamofireのコード部分で使われるダウンキャストがどのような意味をなしてるか知りたかったためです。
###問題点
以下のサイトでSwiftの通信フレームワークであるAlamofireについて学んでいました。
https://medium.com/better-programming/combine-swiftui-with-alamofire-abb4cd4a0aca
そして、Alamofireが使われているコード部分は以下のようになっています。
Swift
1class Observer : ObservableObject{ 2 @Published var jokes = [JokesData]() 3 4 init() { 5 getJokes() 6 } 7 8 func getJokes(count: Int = 5) 9 { 10 Alamofire.request("http://api.icndb.com/jokes/random/(count)") 11 .responseJSON{ 12 response in 13 if let json = response.result.value { 14 if (json as? [String : AnyObject]) != nil{ 15 if let dictionaryArray = json as? Dictionary<String, AnyObject?> { 16 let jsonArray = dictionaryArray["value"] 17 18 if let jsonArray = jsonArray as? Array<Dictionary<String, AnyObject?>>{ 19 for i in 0..<jsonArray.count{ 20 let json = jsonArray[i] 21 if let id = json["id"] as? Int, let jokeString = json["joke"] as? String{ 22 self.jokes.append(JokesData(id: id, joke: jokeString)) 23 } 24 } 25 } 26 } 27 } 28 } 29 } 30 } 31}
実際にこのコードがどういう物なのか解析している途中で、なぜ、このようなダウンキャストが多くみられるか、知りたくなったので、質問しました。このようなダウンキャスト達がなぜ出てくるのかをわからないので知りたいです。どうかよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/24 02:33