私は複数の画像を投稿できるinstagramのような機能を実装したいと思います。私はtableviewcellを持っていて、tableviewcellには、画像を表示するcollectionviewcellがあります。Firebase素早く複数の画像を持つ投稿機能を実装する方法
はここにここに私のモデルであり、私のfirebase構造
"Post": {
"uid": {
"Text": "some text",
"Date": "some date",
"images": {
autoID1: url1,
autoID2: url2
}
}
}
です。私は正しく初期化していますか?
import Foundation
import Firebase
import FirebaseDatabase
struct Post {
var Text: String!
var Date: String!
var images: String?
init(snapshot: FIRDataSnapshot){
for child in snapshot.children{
key = snapshot.key
ref = snapshot.ref
Text = (snapshot.value! as! NSDictionary)["Text"] as! String
Date = (snapshot.value! as! NSDictionary)["Date"] as? String
let snap = child as! DataSnapshot
images = snap.value as! String
}
}
}
この場合、最新の投稿が上に表示されるようにしたいと思います。問題はユーザーが毎回画像を選択しないことです。時には、テキストを投稿するだけです。その場合、アプリが壊れてしまいます。
私の質問は、最新の投稿が一番上に表示され、画像が選択されなかった場合は、テキストと日付のみが観察され、tableviewcellに表示されますか?
また、コレクションビューで複数の画像を表示するには、どのようにセルを設定する必要がありますか?私はTextとDateを実装しましたが、私はイメージに苦しんでいます。
func configureCell(post: Post){
self.TextLabel.text = post.Text
self.DateLabel.text = post.Date
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "postsCell", for: indexPath) as! PostsTableViewCell
cell.configureCell(post: postsArray[indexPath.row])
return cell
}
//how to configure cell?
import UIKit
import Firebase
class PostCollectionViewCell: UICollectionViewCell {
@IBOutlet var imageView: UIImageView!
var storageRef: Storage {
return Storage.storage()
}
}
ありがとうございます!
ありがとうございました! – Daibaku
@Callamどこでスナップショットを見つけましたか?チャイルド?そのようなプロパティはドキュメントには表示されません。https://firebase.google.com/docs/reference/swift/firebasedatabase/api/reference/Classes/DataSnapshot#value –
Oopsy、私の間違い - これはカスタム拡張です。 – Callam