我正在尝试像Facebook一样实现类似的功能。我在原型单元格中有喜欢的按钮,用户可以在其中单击来喜欢。我在模型类中创建了like功能,并尝试在tableviewcell类中访问它。我在模型类的扩展中创建了like功能。我正在尝试在另一个类中调用该扩展,但是对该扩展的引用返回nil。
这是我的模型课的扩展名
extension UserPostsModel{
func like()
{
likez += 1
userPosts.child(keyz!).child("likes").setValue(likez)
}
}
这就是我在tableviewcell类中调用它的方式
//feedposts is returning nil
var feedposts: UserPostsModel!
@IBAction func likeBtn(_ sender: UIButton) {
feedposts.like()
}
当用户单击按钮时,应实现类似功能,但由于扩展名返回nil,应用程序崩溃
答案 0 :(得分:0)
您需要初始化UserPostsModel类。
在func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
或者在像这样的单元格中
var feedposts: UserPostsModel = UserPostsModel()
但是在cellForRow方法中会更好一些
当前,该属性已用!展开(您向编译器说它不能为nil,但是您没有设置它,并且它为nil)