Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 更新Parse.com中的行_Ios_Swift_Parse Platform - Fatal编程技术网

Ios 更新Parse.com中的行

Ios 更新Parse.com中的行,ios,swift,parse-platform,Ios,Swift,Parse Platform,如何在Parse.com中上载行 这是我的查询代码: func queryFromParse(){ self.arrayOfDetails.removeAll() let query = PFQuery(className: "currentUploads") query.orderByDescending("createdAt") query.findObjectsInBackgroundWithBlock { (objects:

如何在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() }
                        }
                    }
                }
            }
        }
    }

您应该保留对一个对象的引用,或者更广泛地说,保留对查询返回的所有对象的引用。现在,当某些内容发生更改时,您可以从对象数组中获取相应的实例,然后更新并保存它以修改现有的“行”。

您需要更新现有PFObject的值并保存它,而不是创建新的PFObject。此外,解析方法执行的块已经在主服务器上调度queue@Paulw11-你能提供一个示例解决方案吗?我该怎么做?
@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)
    }