Swiftで遊ぼう! - 486 - NSURLでまだまだ足踏み...(同期通信)
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
まだまだアプリ作りに手を出さず、というか手が出ないだけですが(^^;) 思い浮かべているアプリ作りのために知識を付ける熟成期間中です。
NSURLクラスの取り扱いをもう少し勉強していきます。そろそろ「JSON」なんて言葉が聞こえてきますが、まだ何のことかさっぱり分からない状態です。
Webからイメージをダウンロードするやり方を復習します。
下記のプロジェクトを見て下さい。
実はこの実装法は一般的なコーディングなんですが、私のような初心者に理解し難かったのは、ここで説明しているように非同期通信の実装をしたからです。
初心者がイメージをダウンロードするのなら次のメソッドを上記プロジェクトのViewController.swiftに加えるといいでしょう。
func getImageAlt() { let url = NSURL(string: "https://s3.amazonaws.com/CoverProject/album/album_david_bowie_lets_dance.png") let data = NSData(contentsOfURL: url!) self.imageView.image = UIImage(data: data!) }
そしてこのメソッドを次のボタンメソッドにある「getImage()」を書き換えます。
@IBAction func downloadImage(sender: UIButton) { getImageAlt() }
単独の小さなデータをダウンロードするのならこれでいいのかもしれません。しかし、複数の大きなファイルをダウンロードしたりエラーが発生する可能性があるアプリ外とのデータのやり取りにエラーハンドリングは必ず実装しなければならないでしょう、ユーザーに進捗状況を伝えるNSProgress(まだ未習)の習得も必須なので外部とのデータやり取りで勉強すべき事は多々あります。
今日はここまで。