【问题标题】:'PFObject values may not have class: NSConcreteValue''PFObject 值可能没有类:NSConcreteValue'
【发布时间】:2017-11-16 21:24:15
【问题描述】:

应用程序在此方法上不断崩溃 - 尝试将 Parse 对象简单地固定到本地数据存储中,如文档 Parse docs 中所述:

func saveToBackground(title:String, description:String, coords:CLLocationCoordinate2D, image:UIImage, objectId:String, dateFound:String){

    let imageData = image.jpeg(.low)
    let imageFile = PFFile(name: "image.png", data: imageData!)


    let foundObject = PFObject(className: "FoundObjects")
    foundObject["title"] = title
    foundObject["description"] = description
    foundObject["coordinates"] = coords
    foundObject["image"] = imageFile
    foundObject["objectId"] = objectId
    foundObject["dateFound"] = dateFound
    foundObject.pinInBackground()

}

错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“PFObject 值可能没有类:NSConcreteValue”

有什么想法吗?

【问题讨论】:

    标签: ios swift parse-platform local-datastore


    【解决方案1】:

    您的值中至少有一个是 NSConcreteValue 类,它不能存储在 PFObject 上。通过设置断点并单步执行来找出导致问题的行,并确保将该值强制转换为预期的类。或者您可以将所有这些都转换为他们预期的类,覆盖您的基地。

    编辑:正如 MartynE23 所指出的,问题实际上是 CLLocationCoordinate2D,必须将其转换为 PFGeoPoint 才能添加到 Parse 对象

    【讨论】:

    • 感谢指针@Jake T ....它实际上是格式不正确的 CLLocationCoordinates2D!
    • 很高兴你找到它!更新了我的后代答案。
    猜你喜欢
    • 2015-03-26
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多