2017-02-02 6 views
1

私はfirebaseのストレージに保存されているいくつかの画像を読み込もうとしています。iOS(swift)でtablecellのfirebaseから画像を読み取るには?

これはどのように達成できますか?私はセルでUITableビューを使用しています。

私はCellにUIUmageを追加しました。

、私は経由でストレージから画像を呼び出そうと「M:成功ここ

なし

cell?.imageView?.image = UIImage(named: "gs://mybundefirebase.appspot.com") 

がフル機能で、textlabelは、画像が正しく表示されますが、ありません。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell") 
    cell?.textLabel?.text = postData[indexPath.row]; 
    cell?.textLabel?.textAlignment = .center; 
    cell?.imageView?.image = UIImage(named: "gs://mybundefirebase.appspot.com") 

    return cell! 
} 

助けてください...信じられないでしょう!私はそれに多くの問題を抱えています!

ありがとうございました!これはまたのためにメモリ内の画像をキャッシュします

let urlToData = "gs://mybundefirebase.appspot.com" + "/" + folderOfImage + "/" + imageNameOnStorage 

let reference = FIRStorage.storage().reference(forURL: urlToData) //ctreates reference to image in storage 

let placeholderImage = #imageLiteral(resourceName: "placeholder") //placeholder if wanted 

imageView.sd_setImage(with: reference, placeholderImage: placeholderImage) //will set your image for you 

:あなたはこのようなこの

import FirebaseStorageUI 

とユーザのようにインポートすることをFirebaseStorageUI:

enter image description here

答えて

0

あなたはFirebaseを使用することができます同じイメージをアプリ内の別の場所に取得する予定がある場合は、ストレージに多くのリクエストをする必要はありません。

EDIT:あなたのケースでは、あなたがに等しいことurlToDataを持つことができます:ストレージ上のイメージの名前はa-chair-bl.jpgあり、それはrootフォルダに配置されている場合

let urlToData = "gs://mybundefirebase.appspot.com/a-chair-bl.jpg" 

これは働くだろう

EDIT2:あなたはcellForRowAtで上記のコードを呼び出すことができますが、私はこれを提案しません。また、あなたがあなたのpodfileにこれを追加する必要がありFirebaseStorageUIアクセスしpod install

pod 'FirebaseUI/Storage' 
+0

こんにちはを実行する:あなたはそれのための関数を作成し、ちょうどcellForRowAt

EDIT3から機能を呼び出す必要があり、あなたのPostCellでそれを行う必要がありますJohn、 ありがとうございます。 私が達成しようとしているのは次のとおりです。 私のデータベースには、別の情報を持つ異なる投稿(下記のスクリーンショットの「ビデオ」)があります。 ポストがfirebase storageから画像を割り当てることができるようにしたいと思います。 例:まだ以下のスクリーンショットでは、データボックス、動画、1の画像に画像を呼び出すために値「gs://bundleid.appspot.com/a-chair-bl.jpg」を追加しました。 テーブルCellで画像を呼びたいのですが、 タイトルはコール中です。 – tibewww

+0

動作させるためにコードを配置する必要はありますか?同じ機能ですか? ありがとうございました。私は本当に感謝しています。 – tibewww

+0

良いアーキテクチャのために、ポストに割り当てる画像は、たとえば、PostImagesという名前のストレージの新しいフォルダに配置する必要があります。例えば、このpostIdImageのようなものの一部であるpostidのような定義済みの名前を持つ画像があるかもしれません。 – John

関連する問題