我有一个可以添加帖子的应用。我最近添加了删除帖子的功能,但是当用户删除带有评论的帖子时 - 应用程序崩溃(但帖子仍然被删除)。
奇怪的是,我没有在用户删除帖子的tableview中收到错误?
我有feedTableViewController
(用户删除帖子的位置)和commentTableViewController
,人们可以看到帖子的评论。
即使用户删除了feedTableViewController
中的帖子,xcode也会在此行代码的commentTableViewController
中显示错误:
FIRDatabase.database().reference().child("feed-items").child(self.dataGotten).child("likesForPost").observeEventType(.Value, withBlock: { (snapshot:FIRDataSnapshot!) in
if let count: UInt? = snapshot.childrenCount {
if count! - 1 == 1 {
self.likesButton.setTitle("\(count! - 1) LIKE", forState: .Normal)
} else if count! - 1 == 0 {
self.likesButton.hidden = true
} else {
self.likesButton.setTitle("\(count! - 1) LIKES", forState: .Normal)
}
}
})
你可能会看到上面的代码显示了帖子有多少喜欢 - 所以它与评论无关?删除带有赞的帖子时,该应用不会崩溃。当删除带评论的帖子时,应用程序崩溃了。有人知道如何解决这个问题吗?
这是在我的应用中删除帖子的方式:
func deletePost(cell: updateTableViewCell) {
let alertController = UIAlertController(title: "Slet", message: "Vil du slette dette?", preferredStyle: .Alert)
let confirmAction = UIAlertAction(title: "Slet", style: .Default) { (_) in
FIRDatabase.database().reference().child("feed-items").child(cell.pathDB).removeValue()
self.tableView.reloadData()
}
let cancelAction = UIAlertAction(title: "Annuller", style: .Default) { (_) in
}
alertController.addAction(confirmAction)
alertController.addAction(cancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
如果您需要,将提供更多代码: - )
答案 0 :(得分:0)
这应该有效
FIRDatabase.database().reference().child("feed-items").child(self.dataGotten).child("likesForPost").observeEventType(.Value, withBlock: { (snapshot:FIRDataSnapshot!) in
if (snapshot.hasChildren()) {
if let count: UInt = snapshot.childrenCount as UInt {
if count - 1 == 1 {
self.likesButton.setTitle("\(count - 1) LIKE", forState: .Normal)
} else if count - 1 == 0 {
self.likesButton.hidden = true
} else {
self.likesButton.setTitle("\(count - 1) LIKES", forState: .Normal)
}
}
}
})