解析 Swift 保存多个对象

Parse Swift Saving Multiple Objects

ParseSwift 3.0

我试图一次保存多个数据,但代码所做的只是将每个文件保存到同一个 ObjectId。因此覆盖以前的保存。我在编码方面不是很有经验,有点迷茫。如果有更好的方法来做到这一点,我愿意接受建议。如果您需要更多信息,我很乐意提供。

func importToParse() {
    var i = 1
    var data = PFObject(className:"Annotation")
    for dataFromDict in dataDict {
        data["title"] = dataFromDict["title"]
        data["place"] = dataFromDict["place"]
        data["phoneNumber"] = "+9" + (dataFromDict["phoneNumber"]?.replacingOccurrences(of: ".", with: ""))!
        data["thingsToEat"] = dataFromDict["thingsToEat"]
        data["coordinates"] = PFGeoPoint(latitude: (dataFromDict["lat"] as! NSString).doubleValue,longitude: (dataFromDict["long"] as! NSString).doubleValue)
        data.saveInBackground(block:) {
            (success: Bool, error: Error?) -> Void in
            if (success) {
                // The object has been saved.
                print("Finished #" + String(i))
                i += 1
            } else {
                // There was a problem, check error.description
            }
        }
    }
}

我认为你需要在循环中创建对象

func importToParse() {
    var i = 1
    for dataFromDict in dataDict {
        var data = PFObject(className:"Annotation")
        data["title"] = dataFromDict["title"]
        data["place"] = dataFromDict["place"]
        data["phoneNumber"] = "+9" + (dataFromDict["phoneNumber"]?.replacingOccurrences(of: ".", with: ""))!
        data["thingsToEat"] = dataFromDict["thingsToEat"]
        data["coordinates"] = PFGeoPoint(latitude: (dataFromDict["lat"] as! NSString).doubleValue,longitude: (dataFromDict["long"] as! NSString).doubleValue)
        data.saveInBackground(block:) {
            (success: Bool, error: Error?) -> Void in
            if (success) {
                // The object has been saved.
                print("Finished #" + String(i))
                i += 1
            } else {
                // There was a problem, check error.description
            }
        }
    }
}