FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Swiftでファイルストアのデータを取得して表示する

f:id:mbaasdevrel:20180806093819p:plain

Swiftで写真データをImageViewに表示する方法を解説します。

ファイル名が分かっている場合

ファイル名が分かっている場合、まずNCMBFileオブジェクトを作ります。

let file = NCMBFile.file(withName: "photo.jpg", data: nil) as! NCMBFile

そして getDataInBackground を使ってデータをダウンロードします。返ってきたデータを UIImage を使って画像データに変換すれば表示できます。

file.getDataInBackground({(data, error) in
  if (!(error != nil)) {
    self.imgView.image = UIImage.init(data: data as! Data)
  }
})

f:id:mbaasdevrel:20181119091153p:plain

ファイル名が分かっていない場合

ファイル名が分かっていない場合はデータを検索するというワンステップが増えます。検索条件は自分の必要な条件に書き換えてください。

let query = NCMBQuery.init(className: "file")!
query?.whereKey("createdAt", greaterThan: "")

後は検索を実行するだけです。

query?.findObjectsInBackground({(results, error) in
  if error != nil {
    print("error", error ?? "")
  } else {
    print(results ?? "")
  }
})

まとめ

ファイルストアはファイルの実体を取得する前に、まず検索を行う必要があります。そして検索結果からそれぞれバイナリデータを取得していくというフローになります。ぜひ活用してください。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。