Я не очень уверен, почему он выдает мне ошибку "Значение типа 'PostModel.Type' не имеет подписок" введите описание изображения здесь .
class Universalchatcontroller: UIViewController,UITableViewDelegate,UITableViewDataSource{
let transition = slide()
var tableview : UITableView!
var postsdata = [PostModel]()
// var ref : DatabaseReference!
// var databaseHandle : DatabaseHandle?
override func viewDidLoad()
{
super.viewDidLoad()
print("mainviewdidload")
//LOOK HERE RAYMOND
//Building a News Feed w/ AutoLayout Constraints - Swift & Firebase Part 4 (youtube)
tableview = UITableView(frame:view.bounds,style: .plain)
//tableview.backgroundColor = UIColor.blue
view.addSubview(tableview)
var layoutguide : UILayoutGuide!
layoutguide = view.safeAreaLayoutGuide
let cellNib = UINib(nibName:"POSTTableViewCell" , bundle: nil)
tableview.register(cellNib, forCellReuseIdentifier: "postcell")
tableview.leadingAnchor.constraint(equalTo: layoutguide.leadingAnchor).isActive = true
tableview.topAnchor.constraint(equalTo: layoutguide.topAnchor).isActive = true
tableview.trailingAnchor.constraint(equalTo: layoutguide.trailingAnchor).isActive = true
tableview.bottomAnchor.constraint(equalTo: layoutguide.bottomAnchor).isActive = true
tableview.delegate = self
tableview.dataSource = self
observePosts()
tableview.reloadData()
}
func observePosts() {
let postref = Database.database().reference().child("moreposts?")
var tempPost = [PostModel]()
postref.observe(.value, with: {snapshot in
for child in snapshot.children {
if let childSnapshot = child as? DataSnapshot,
let dict = childSnapshot.value as? [String: Any],
let author = dict["author"] as? [String:Any],
let uid = author[Auth.auth().currentUser!.uid],
let text = dict["text"]as? String,
let username = author[(Auth.auth().currentUser?.displayName)!] as? String {
let raymond = Auth.auth().currentUser?.displayName
let postMODEL = PostModel(id: childSnapshot.key, author: raymond!, text: text)
tempPost.append(postMODEL)
}
}
})
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return postsdata.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "postcell", for: indexPath) as! POSTTableViewCell
cell.set(post: PostModel[indexPath.row])
return cell
}