2017-05-01 12 views
0

私は現時点で問題が発生しています。私は自分のアプリにfirebaseを接続し、firebaseに画像を投稿できるユーザーを作成し、投稿をループして、フィード。 1つの問題、私がフィードセクションを作成するために従っているチュートリアルにはvoid = downloadurl(with:String)が含まれており、この関数を見つけることができません。私は同じモジュールをインポートして、アプリはほぼ彼にクローンされています。私はかなり混乱していて、誰かが助けてくれることを願っていました。ここでcollectionviewセルは、現時点では次のとおりです。セル内にimageviewのダウンロードURLを取得できません

func collectionView(_ collectionView: UICollectionView, 
    numberOfItemsInSection section: Int) -> Int { 
return posts.count 
} 
func collectionView(_ collectionView: UICollectionView, cellForItemAt 
indexPath: IndexPath) -> UICollectionViewCell { 
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", 
for: indexPath) as! UserFeedCollectionViewCell 

-> cell.myImage. downloadImage(from: String) <- does not exist, or 
doesn't show up. 
cell.myImage.layer.cornerRadius = 12.0 
cell.myImage.clipsToBounds = true 

return cell 

}

ユーチューブチュートリアルは、このリンクである:https://youtu.be/fw7ySRFtX_M と、正確に35分で彼は、細胞画像をダウンロードする方法を示します。私はフィードを作成するためのコードを持っていますが、このコードは無駄ではありません。そしてfirebaseとuikitをインポートしました。 可能であれば、何かヒントをください!ありがとうございます(:

+0

エピソード1,2および3を試してみてください –

答えて

1

ここには、downloadImage関数のコードがあります。これはUIImageViewの拡張です。拡張子はクラス外に配置してください。

class UsersViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 
    // deleted to save space 
} 

extension UIImageView { 

    func downloadImage(from imgURL: String!) { 
     let url = URLRequest(url: URL(string: imgURL)!) 

     let task = URLSession.shared.dataTask(with: url) { 
      (data, response, error) in 

      if error != nil { 
       print(error!) 
       return 
      } 

      DispatchQueue.main.async { 
       self.image = UIImage(data: data!) 
      } 

     } 

     task.resume() 
    } 
} 
+0

申し訳ありません –

1

FirebaseやiOSの本来の機能ではありません。ビデオでは、彼は以前のビデオでこの機能を作成したと記述しています。ビデオをダウンロードし、最終的なプロジェクトをダウンロードして、彼が何をしたのかを確認してください。

PINRemoteImageのような素晴らしいサードパーティライブラリがたくさんあります。よく。)

+0

ありがとうございました –

関連する問題