#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