如何修复扩展名返回nil的实例?

时间:2019-04-18 16:46:41

标签: ios firebase-realtime-database swift4.2

我正在尝试像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,应用程序崩溃

1 个答案:

答案 0 :(得分:0)

您需要初始化UserPostsModel类。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

或者在像这样的单元格中

var feedposts: UserPostsModel = UserPostsModel()

但是在cellForRow方法中会更好一些

当前,该属性已用!展开(您向编译器说它不能为nil,但是您没有设置它,并且它为nil)