繁体   English   中英

在Parse.com中更新行

[英]Update row in Parse.com

如何在Parse.com中上传行?

这是我的查询代码:

func queryFromParse(){
        self.arrayOfDetails.removeAll()
        let query = PFQuery(className: "currentUploads")
        query.orderByDescending("createdAt")
        query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
            if error == nil
            {
                if let newObjects = objects as? [PFObject] {

                    for oneobject in newObjects {
                        let text = oneobject["imageText"] as! String
                        let username = oneobject["username"] as! String
                        let deviceID = oneobject["identifierForVendor"] as! String
                        let reportedCount = oneobject["reportedCount"] as! String
                        let time = oneobject.createdAt!

                        if let userImage = oneobject["imageFile"] as? PFFile {
                            let userImage = oneobject["imageFile"] as! PFFile

                            let imageURL = userImage.url // <- Bruker nå userImage.URL, henter ikke bildefilen med en gang
                            let OneBigObject = Details(username: username, text: text, CreatedAt: time, image: imageURL!, deviceID: deviceID, reportedCount: reportedCount)
                            //let OneBigObject = Details(username: username, text: text, CreatedAt: time, image: imageURL!)

                            self.arrayOfDetails.append(OneBigObject)

                            dispatch_async(dispatch_get_main_queue()) { self.collectionView.reloadData() }
                        }
                    }
                }
            }
        }
    }

图片在这里

报告图像时,我想更新“ reportedCount”。 我有一个一直在使用的代码,但是为每个报表在另一个类中创建了新行,并且我只想更新“ reportedCount”:

@IBAction func reportContentAction(sender: AnyObject) {
        let buttonPosition = sender.convertPoint(CGPointZero, toView: self.collectionView)
        let indexPath = self.collectionView.indexPathForItemAtPoint(buttonPosition)
        ////
        println(indexPath?.item)
        ////
        let post = self.arrayOfDetails[indexPath!.item]

        var alertMessage = NSString(format:"*User: %@\r *Text: %@\r *Created at %@", post.username, post.text, post.CreatedAt)

        var reportAlert = UIAlertController(title: "Report Content", message:alertMessage as String, preferredStyle: UIAlertControllerStyle.Alert)

        reportAlert.addAction(UIAlertAction(title: "Yes", style: .Default, handler: { (action: UIAlertAction!) in
            println("Handle Report Logic here")

            var currentUploads = PFObject(className: "banned")
            currentUploads["username"] = post.username
            currentUploads["imageText"] = post.text
            currentUploads["imageFile"] = post.image
            currentUploads["identifierForVendor"] = post.deviceID
            currentUploads["flaggedBy"] = PFUser.currentUser()?.username
            currentUploads["flaggedByUUID"] = UIDevice.currentDevice().identifierForVendor.UUIDString
            currentUploads.saveInBackgroundWithBlock({ (success: Bool, error: NSError?) -> Void in
                if error == nil{
                    //**Success saving, now save image.**//
                    currentUploads.saveInBackgroundWithBlock({ (success: Bool, error: NSError?) -> Void in
                        if error == nil{
                            // Take user home
                            print("Data uploaded")
                            // Show UIAlertView
                            let alert = UIAlertView()
                            alert.title = "Message"
                            alert.message = "You report has been sent. Thank you for your support."
                            alert.addButtonWithTitle("Close")
                            alert.show()

                        }
                        else{
                            print(error)
                        }
                    })
                }
                else{
                    print(error)
                }
            })
        }))

        reportAlert.addAction(UIAlertAction(title: "Cancel", style: .Default, handler: { (action: UIAlertAction!) in
            println("Handle Cancel Logic here")
        }))

        presentViewController(reportAlert, animated: true, completion: nil)
    }

你应该保持一个参考oneobject ,或者更广泛地说,所有的objects从查询返回。 现在,当某些更改发生时,您可以从objects数组中获取适当的实例,然后对其进行更新和保存以修改现有的“行”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM