Объект взаимосвязи для извлечения основных данных

#ios #swift #core-data #one-to-many

#iOS #swift #core-data #один ко многим

Вопрос:

У меня есть два объекта, Core Data один из которых назван Group , а другой назван Group Member , между которыми я установил To-Many связь Group , и Group Member я сохраняю данные в БД, используя сгенерированную core data функцию addMembers , но когда я извлекаю ту же группу из core data, я получаю 0 результатов в Group Member объекте. Мой Group Member объект имеет тип NSSet в классе Group

Ниже приведен код для хранения и извлечения данных

 if let members = json["members"] as? [[String:Any]] {

    group.addToMembers(NSSet(array: SPEGroupMember.parseArray(jsonArray: members)))
}
group.save(saveInDB: false)

print("JSON Group Members: (String(describing: group.members))")

let iSPEGroup = DataQuery.getSPEGroup(byId: group.groupId) as! SPEGroup
for member in iSPEGroup.members?.allObjects as! [SPEGroupMember] {
    print("Fetched group memebers Phone numbers(String(describing: member.userPhone))")
}
 

В приведенном выше фрагменте, когда я это делаю group.members , я получаю набор ненулевых результатов, но когда я это делаю iSPEGroup.members , я получаю набор нулевых результатов.

Комментарии:

1. Добавьте некоторый код, показывающий, как вы сохраняете и извлекаете Group , а также объясните, что вы имеете в виду под «не получить», это null или пустой набор или вы получаете ошибку?

2. Пожалуйста, покажите свой код, скорее всего, его a Fault , который является оптимизацией Core Data для использования меньшего объема памяти.

3. Я только что добавил фрагмент кода

4. являются ли SPEGroup и SPEGroupMember объектами NSManagedObjects?

5. Да, это NSManagedObjects