Странное поведение при извлечении объектов из анализа в iOS
У меня проблема с получением объектов в отношениях с помощью запросов. Я попытался упростить до разбавленного примера и смог воспроизвести, используя Parent
а также Child
учебный класс.
Во-первых, я сохраняю Parent
Объект с 2 детьми:
let child1: PFObject = PFObject(className: "Child")
child1["name"] = "Child1"
let child2: PFObject = PFObject(className: "Child")
child2["name"] = "Child2"
let parent: PFObject = PFObject(className: "Parent")
parent["name"] = "Parent1"
parent.addObject(child1, forKey: "children")
parent.addObject(child2, forKey: "children")
parent.saveInBackgroundWithBlock { (success, error) -> Void in
print("success: \(success)")
}
Теперь, когда приложение запускается и в Parse есть реальные данные, я пытаюсь получить его с помощью PFQuery
:
let query: PFQuery = PFQuery(className: "Parent")
query.findObjectsInBackgroundWithBlock { (result, error) -> Void in
print("result: \(result)")
}
Первые несколько раз, когда я бегал, результат печати дал мне что-то вроде этого:
result: Optional([<Parent: 0x7fa43356ae70, objectId: JzOgNq6Y2K, localId: (null)> {
children = (
{
<Child: objectId: 98dfjhwejf, blah blah...>
},
{
<Child: objectId: 34763kKJHF, blah blah...>
}
);
name = Parent1;
}])
Затем, внезапно, ничего не изменив, я начал только возвращать массив objectIds
за children
:
result: Optional([<Parent: 0x7fa43356ae70, objectId: JzOgNq6Y2K, localId: (null)> {
children = (
{
objectId = W3XflnNQupF;
},
{
objectId = dI6Ky5n7lm;
}
);
name = Parent1;
}])
Я также пытался использовать query.includeKey("children")
для запроса, но это ничего не изменило. Любая помощь здесь высоко ценится. Я, должно быть, упускаю что-то очевидное. Я думал, что Parse собирается сделать вещи проще. Вместо этого я трачу кучу времени на то, что кажется таким простым.
1 ответ
Изменение названия Parent
Класс к чему-то другому заставил все снова начать работать.