如何从Parse Array中删除项目?

时间:2015-09-12 22:48:03

标签: ios swift parse-platform

在我的应用中,您可以选择喜欢帖子。我使用这个函数,我用.addTarget分配给like按钮,将用户的objectId添加到一个数组中,该数组被计算以确定有多少喜欢。我想知道如何从数组中删除一个名字,比如有人想要与帖子不同。

func like(sender: AnyObject) {

    var buttonPosition: CGPoint = sender.convertPoint(CGPointZero, toView: self.table)

    var indexPath: NSIndexPath = self.table.indexPathForRowAtPoint(buttonPosition)!

    var postsQuery = PFQuery(className: "Post")

    postsQuery.whereKey("message", equalTo: messages[indexPath.row])

    postsQuery.findObjectsInBackgroundWithBlock { (posts, error) -> Void in
        if let posts = posts {
            for post in posts {
                post.addUniqueObject(PFUser.currentUser()!.objectId!, forKey: "likers")
                println(self.likesArray)
                post.saveInBackground()
                self.table.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
            }
        }
    }

}

2 个答案:

答案 0 :(得分:1)

Parse数组实际上只是一个JSON字典。重新排序数据的一种方法是将一个解析数组放入字典中,创建没有需要删除的数据的新字典,然后将新数组保存到解析数组中。

答案 1 :(得分:1)

当您使用addUniqueObject:forKey:添加到数组时,您可以使用removeObject:forKey:从数组中删除然后保存。