Странное поведение при извлечении объектов из анализа в 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 Класс к чему-то другому заставил все снова начать работать.

Другие вопросы по тегам