我的应用程序上有一个简单的通知页面,我在应用程序中设置了朋友请求,当发出好友请求或消息的通知时,它会被添加到接收者消息页面。当用户选择拒绝好友请求时,警报视图将被解除,但随后桌面视图将重新加载两倍的项目,同样用于接受。单击接受或拒绝后,我没有调用重新加载它的函数。我已经尝试了一切,希望能得到一些帮助。这是一些正在发生的代码和照片。请注意,我在viewdidload中调用了用于获取通知的pull()函数,并且没有viewdid出现的viewwillappear函数被调用。 pull函数是一个基本的firebase循环提取,它将它放入通知数组中。
当前代码:检查是否是好友请求,取消segue消息并显示提醒视图
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
if identifier == "segueNotify" {
let index = tableViewNotifications.indexPathForSelectedRow!
if let friendReques = notifications[index.row].friendRequest {
let decline = UIAlertAction(title: "Decline", style: .default, handler: { (action : UIAlertAction!) -> Void in
if let myuid = self.uid {
if let key = self.notifications[index.row].key {
let ref = FIRDatabase.database().reference()
ref.child("users").child(myuid).child("Notifications").child(key).removeValue()
}
}
// this does not work, does the same thing :
// self.notifications.removeAll()
//self.tableViewNotifications.reloadData()
//self.pull()
})
let cancel = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
alert.addAction(cancel)
alert.addAction(accept)
alert.addAction(decline)
self.present(alert, animated: true, completion: nil)
return false
}
}
return true
答案 0 :(得分:0)
我在接受和拒绝功能之后添加了这个:
self.notifications.removeAll()
self.tableViewNotifications.reloadData()