Я создаю сущность UserEntity:
let userEntity = UserEntity(context: managedContext)
userEntity.username = user.username
userEntity.name = user.name
userEntity.personCode = user.personCode
userEntity.personalData = XMLRegistrationData.toEntity(userPersonalData: user.registrations.registrationData)
и сохраняю ее в этом свойстве "loggedUser":
let loggedUser = XMLUserData.toEntity(user: xmlUserData)
print(loggedUser) // first print
do {
try self.context.save()
print(loggedUser) // second print
} catch {
...
}
Первые результаты печати этого:
<UserEntity: 0x282b07a70> (entity: UserEntity; id: 0x28081c460 <x-coredata:///UserEntity/t78B51567-8104-4232-9BEA-062FBCB3CEEC3> ; data: {
activeSession = nil;
name = "FOO";
personCode = 000;
personalData = "0x280828020 <x-coredata:///UserPersonalDataEntity/t78B51567-8104-4232-9BEA-062FBCB3CEEC4>";
username = 001;
})
Но второй результат печати на этом:
<UserEntity: 0x282b07a70> (entity: UserEntity; id: 0xd000000000840002 <x-coredata://C833ECD4-5D54-48C3-9860-B2E0781D08EC/UserEntity/p33> ; data: <fault>)
Атрибуты UserEntity равны нулю после сохранения его в основных данных.Объект сохраняется в основных данных, я могу получить его с помощью context.fetch, но loggedUser изменился.
Почему это происходит?И как я могу сохранить данные в loggedUser после их сохранения, без необходимости извлекать их из основных данных после сохранения?