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

问题描述 投票:0回答:1

我试图像facebook一样实现类似的功能。我喜欢原型单元格中的按钮,用户可以点击它们。我在我的模型类中创建了类似的功能,我试图在我的tableviewcell类中访问它。我在我的模型类的扩展中创建了类似的功能。我试图在另一个类中调用扩展名,但对扩展名的引用返回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

ios firebase-realtime-database swift4.2
1个回答
0
投票

您需要初始化UserPostsModel类。

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

或者像细胞一样

var feedposts: UserPostsModel = UserPostsModel()

但是在cellForRow方法中会有更好的练习方法

目前该属性已解包!(你对编译器说它不能为零,但是你没有设置它并且它是零)

© www.soinside.com 2019 - 2024. All rights reserved.