如何在Parse子类中检查PFUser的指针数组中是否有特定用户?

时间:2016-12-20 14:26:05

标签: swift parse-platform parse-server pfquery pfsubclassing

我的班级有一个PFUser指针数组。

我正在尝试检查指针数组中是否有PFUser.current()。

这是我的代码段。

class News: PFObject, PFSubclassing {

    @NSManaged var notiBy: PFUser?
    @NSManaged var notiTo: PFUser?
    //[News]()
//    @NSManaged var notiArray: [PFUser]?
    @NSManaged var notiArray: Array<String>


   var newsLiveQuery: PFQuery<News> {
        return News.query()?
            .whereKeyExists("objectId")
            .includeKeys(["notiBy", "postObj", "notiTo", "notiArray"])
            .whereKey("notiArray", equalTo: PFUser.current()!)
            .order(byDescending: "createdAt")
            as! PFQuery<News>
    }

但是我收到了一条JSON错误消息。

但我可以像这样获得PFObject的结果

[<News: 0x1740b5480, objectId: zyCEHc78l6, localId: (null)> {
    checked = 0;
    messageText = Hellow;
    notiArray =     (
        "<PFUser: 0x1742ee800, objectId: a85SoYwEiE, localId: (null)>"
    );
    notiBy = "<PFUser: 0x1742ed100, objectId: tmWHuptLmd, localId: (null)>";
    notiTo = "<PFUser: 0x1742ede00, objectId: a85SoYwEiE, localId: (null)>";
    postObj = "<Post: 0x1742ee700, objectId: CXaSlvrW4G, localId: (null)>";
    type = comment;
}]

看那个

我认为应该有效但是......为什么我不能运行查询?

有人知道吗?

1 个答案:

答案 0 :(得分:0)

我相信你不会以字符串形式取回用户名。尝试使用PFUser.current()!。username代替