IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

Swiftを使用してiOSデバイスにURLで画像を読み込むにはどうすればよいですか?


swiftを使用してiOSに画像を読み込むには、単純なデータタスクセッションを使用します。画像は任意のサイズである可能性があり、メインビューの操作を停止させたくないため、画像をバックグラウンドで読み込む必要があります。

例を使ってこれを見てみましょう。空のプロジェクトを作成し、空の画像ビューを追加します。

アウトレットを作成してから、URLから画像を取得するコードを記述します。これが、現時点でのアプリケーションの外観です。

Swiftを使用してiOSデバイスにURLで画像を読み込むにはどうすればよいですか?

それでは、URLから画像を取得するためのコードを追加しましょう。

func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
   URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
}
func downloadImage(from url: URL) {
   getData(from: url) {
      data, response, error in
      guard let data = data, error == nil else {
         return
      }
      DispatchQueue.main.async() {
         self.image = UIImage(data: data)
     }
   }
}

このコードを実行すると、URLから画像がダウンロードされ、画像オブジェクトを作成して、新しいオブジェクトでimgViewを初期化できます。

ただし、このメソッドの拡張機能を作成して使用しましょう。

extension UIImageView {
   func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
      URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
   }
   func downloadImage(from url: URL) {
      getData(from: url) {
         data, response, error in
         guard let data = data, error == nil else {
            return
         }
         DispatchQueue.main.async() {
            self.image = UIImage(data: data)
         }
      }
   }
}

ここで、viewDidLoad(またはその他の好きな場所)に次のコードを追加します。

override func viewDidLoad() {
   super.viewDidLoad()
   let url = URL(string: "https://static.independent.co.uk/s3fs-public/thumbnails/image/2017/09/12/11/naturo-monkey-selfie.jpg?w968h681")
   self.imgView.downloadImage(from: url!)
}

このコードをデバイスで実行すると、次の結果が得られます。

Swiftを使用してiOSデバイスにURLで画像を読み込むにはどうすればよいですか?


  1. 画像を読み込んでKerasを使用して画像を表示するにはどうすればよいですか?

    画像を読み込んでKerasを使用して画像を表示するには、 load_image()を使用します 画像を読み込んで、表示する画像のターゲットサイズを設定する方法。 ステップ load_img()を使用します フィギュアをロードする方法。 画像のターゲットサイズを設定します。 図を表示するには、 show()を使用します メソッド。 例 from keras.preprocessing import image img = image.load_img('bird.jpg', target_size=(350, 750)) img.show() 出力

  2. iTunes を使用して iOS デバイスをバックアップする方法

    すべての iOS デバイスの所有者が知っているように、デバイスの設定を使用して iCloud にすばやく簡単にバックアップできます。しかし、それをバックアップする別の方法は、iTunes を使用してコンピューターに暗号化されたバックアップを作成することです。 これは、バックアップが失敗した場合の別の保険であり、バック ポケットにもう 1 つ入っています。また、iCloud を使用したくない場合や、iCloud にすべてをバックアップするのに十分なスペースがない場合にも、良い代替手段です。 (一部の人にとっての) 欠点は、多くの人が煩わしいと感じるこのために iTunes を使用する必要