gpt4 book ai didi

ios - 如何通过uid检查评论(文本)是否属于当前用户

转载 作者:行者123 更新时间:2023-12-02 11:56:12 25 4
gpt4 key购买 nike

所以我试图创建一个功能,用户可以删除自己的评论/举报他人。

我已经在帖子中完成了此操作,所以我假设我会使用相同的方法..即获取评论 UID 的所有者并检查它是否是当前用户。如果是当前用户,那么我将设置警报 Controller 以显示“删除”,否则它将显示“报告”

这是正确工作的 post 函数的示例代码


func handleOptionsTapped(for cell: FollowingCell) {

guard let post = cell.post else { return }

// If post belongs to current user display delete action sheet.. else report

if post.ownerUid == Auth.auth().currentUser?.uid {
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)

alertController.addAction(UIAlertAction(title: "Delete Post", style: .destructive, handler: { (_) in
post.deletePost()

还有 FollowingCell 中的发布值

 var post: Post? {
didSet {
guard let ownerUid = post?.ownerUid else { return }
guard let imageUrl = post?.imageUrl else { return }


Database.fetchUserWithUID(with: ownerUid) { (user) in
self.profileImage.loadImage(with: user.profileImageUrl)
self.username.setTitle(user.username, for: .normal)
self.configurePostCaption(user: user)
}
postImage.loadImage(with: imageUrl)
configureLikeButton()



}
}


这是我的评论代码


@objc func handleCommentTapped(for cell: CommentCell) {


guard let comment = cell.comment else { return }

// If comment belongs to the current user

if comment.uid == Auth.auth().currentUser?.uid {
print("this is my comment")

} else {
print("this is another users comment")
}

}

这也是我的 CommentCell 代码

 var comment: Comment? {

didSet {
guard let comment = self.comment else { return }
guard let uid = comment.uid else { return }
guard let user = self.comment?.user else { return }
guard let profileImageUrl = user.profileImageUrl else { return }

Database.fetchUserWithUID(with: uid) { (user) in

self.profileImageView.loadImage(with: profileImageUrl)

self.configureCommentLabel()

}
}
}

当我运行程序时,我崩溃了

Thread 1: EXC_BAD_ACCESS (code=257, address=0x1a2494098a1)

在线guard let comment = cell.comment else { return }

我运行了一个断点,但一切都归零(评论文本、发布评论的用户信息,一切)有谁知道我该如何解决这个问题?我也在使用 Active Label,所以我不确定这是否是一个因素。谢谢!

最佳答案

好吧,经过 6 天的努力找出我做错了什么......看来我忘记添加的是

 cell.delegate = self

在 Collection View 函数的cellForItemAt下。因此,如果有人遇到这个问题,我希望这会有所帮助!

我喜欢编码!

关于ios - 如何通过uid检查评论(文本)是否属于当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57717463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com