Я пытаюсь установить указатель с объекта в «Классы» на объект в «Школы». Когда я делаю это, я получаю эту ошибку:Настройка указателя parse для класса, отличного от PFUser
invalid type for key school, expected *Schools, but got string (Code: 111, Version: 1.12.0)
Я знаю, что ошибка говорит, что он ожидает, что указатель на класс «школы», но получил строку вместо. Вот мой код:
let schoolObjectIdQuery = PFQuery(className:"Schools")
schoolObjectIdQuery.whereKey("school_name", equalTo: "\(PFUser.currentUser()!.objectForKey("school_name")!)")
let query = PFQuery.orQueryWithSubqueries([schoolObjectIdQuery])
query.findObjectsInBackgroundWithBlock({ (results: [PFObject]?, error: NSError?) -> Void in
if let objects = results {
for object in objects {
let schoolObjectId = object.objectId!
//////////////////
let classInfo = PFObject(className: "Classes")
classInfo.setObject(className!, forKey: "class_name")
classInfo.setObject(teacherName!, forKey: "teacher_name")
classInfo["school"] = schoolObjectId
classInfo.saveInBackgroundWithBlock({ (success:Bool, error:NSError?) -> Void in
if error != nil {
spinningActivity.hideAnimated(true)
self.displayAlert("Error", message: error!.localizedDescription)
print(error?.localizedDescription)
}
else if success {
spinningActivity.hideAnimated(true)
self.dismissViewControllerAnimated(true, completion: nil)
}
else {
self.displayAlert("Something Went Wrong", message: "Please try again")
}
})
}
}
})
Приведенный выше код запрашивает для ObjectId правильных «школ» объекта, а затем данные настройки в другой класс, «Классы», для которой мне нужно ObjectId от «Школы» объект. * Я знаю, что моя обработка ошибок еще не настроена должным образом
Если я заменю classInfo["school"] = schoolObjectId
на classInfo["school"] = PFUser.currentUser()
, указатель будет отправлен на Parse без проблем. Как установить указатель на «school_name» в классе «Школы» как указатель, а не строку?
Заранее благодарим за помощь!
Спасибо! Это именно то, что я придумал после публикации. Я попробую позже и отметьте это как правильный ответ –