【问题标题】:Photo is lost and Unpinned when app restarts应用程序重新启动时照片丢失并取消固定
【发布时间】:2015-08-26 08:07:37
【问题描述】:

我正在使用 Parse pinInBackground 功能保存稍后将与 parse 同步的信息,但该信息的一部分是已拍摄的照片,但是当我在信息与 Parse 同步之前重新启动应用程序时,图像丢失。 重新启动应用程序后如何不丢失图片。 我必须将其保存在本地吗?如果是这样,在哪里以及如何? 提前谢谢你,如果需要我的任何代码,请告诉我。

//Here I pin the picture in the background
@IBAction func cameraButton(sender: AnyObject) {
    imagePicker = UIImagePickerController()
    imagePicker.delegate = self
    imagePicker.sourceType = .Camera
    presentViewController(imagePicker, animated:true, completion: nil)
}

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {

    let pickedImage:UIImage = info[UIImagePickerControllerOriginalImage] as! UIImage
    let imageData = UIImageJPEGRepresentation(pickedImage, 0.5)
    let imageFile:PFFile = PFFile(data: imageData)


    locationLogs["photo"] = imageFile
    locationLogs.pinInBackgroundWithBlock{ (success: Bool, error: NSError?) -> Void in

        if (success) {
            self.locationManager.stopUpdatingLocation()
        }else{
            println("error= \(error)")
        }
    }
    imagePicker.dismissViewControllerAnimated(true, completion: nil)
}

//Query it 
func queryAll() {
    let query = PFQuery(className:"LocationLogs")

    query.fromLocalDatastore()
    query.findObjectsInBackgroundWithBlock( { (NSArray results, NSError error) in
        if error == nil && results != nil {
            println("array = \(results)" )
            self.tableData = results!
            self.loggedItemsTableView.reloadData()
        }else{
            println("An error has occured= \(error)")
        }
    })
}

//Save and unpin it 
 @IBAction func syncAllButton(sender: AnyObject) {

    PFObject.saveAllInBackground(self.tableData as [AnyObject], block: { (success: Bool, error: NSError?) -> Void in
        if (success) {

            PFObject.unpinAllInBackground(self.tableData as [AnyObject])

            println("Pinned Data has successfully been saved")


        }else{
            println("error= \(error?.localizedDescription)")
        }
    })
}

【问题讨论】:

  • 你能提供你用来尝试检索固定数据的代码吗?

标签: ios iphone swift parse-platform


【解决方案1】:

Parse 将照片保存在tmp/ 目录中,当应用重新启动时,tmp/ 会被擦除。 将图片保存到Documents/目录,同步时从Documents/拉取图片,然后保存。 我不知道代码,所以如果有人可以给出解释,那就太好了

【讨论】:

    猜你喜欢
    • 2016-08-23
    • 2015-07-06
    • 2020-12-16
    • 1970-01-01
    • 2013-04-09
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多