我试图上传一个图像和一个文本来解析。但当我点击“上传”按钮时,应用程序会崩溃,并出现一个Thread 1: signal SIGABRT错误。这是我正在研究的代码:
类viewControllerPload:UIViewController、UIImagePickerControllerDelegate、UINavigationControllerDelegate{

@IBOutlet weak var uploadPreviewImage: UIImageView!
@IBOutlet weak var uploadMessage: UITextField!
@IBOutlet weak var uploadImageText: UIButton!
@IBAction func uploadIMageFromSource(sender: AnyObject) {

    let imagePicker = UIImagePickerController()
    imagePicker.delegate = self
    imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
    imagePicker.allowsEditing = true
    self.presentViewController(imagePicker, animated: true, completion: nil)

}

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
    uploadPreviewImage.image = image
    self.dismissViewControllerAnimated(true, completion: nil)

    uploadImageText.titleLabel?.text = ""
}

@IBAction func uploadButton(sender: AnyObject) {

    let imageText = uploadMessage.text

    if uploadPreviewImage.image == nil {

        print("Image not uploaded")

    }else {

        let posts = PFObject(className: "Messages")
        posts["Title"] = imageText
        posts["Name"] = PFUser.currentUser()
        posts.saveInBackgroundWithBlock({
            (success: Bool, error: NSError?) -> Void in

            if error == nil {

                let imageData = UIImagePNGRepresentation(self.uploadPreviewImage.image!)

                let parseImageFile = PFFile(name: "upload.png", data: imageData!)
                posts["Post"] = parseImageFile
                posts.saveInBackgroundWithBlock({
                    (success: Bool, error: NSError?) -> Void in

                    if error == nil {


                        print("data uploaded")


                    }else {

                        print(error)
                    }


                })


            }else {
                print(error)

            }

        })


    }




}

override func viewDidLoad() {
    super.viewDidLoad()
}
}

以下是日志截图:
ios - 将图像上传到解析线程1时出错:信号SIGABRT-LMLPHP

最佳答案

根据错误消息,有一个nil键或值传递给PFObject。
你检查过PFUser.currentUser()不是零吗?
尝试使用“NSNull”值,或者使用“guard let”或“if let”确保它不是nil。

07-24 09:46
查看更多