Как обрабатывать повторяющиеся записи в Coredata с помощью Codable ⇐ IOS
-
Гость
Как обрабатывать повторяющиеся записи в Coredata с помощью Codable
Эта функция init вставляет новый объект каждый раз, даже если user_id один и тот же.
Как я могу решить эту проблему? Я хочу, чтобы каждая сущность была только одной с user_id.
Мой код такой:
init для общественного удобства (из декодера: Decoder) выдает { // Создание NSEntityDescription с помощью NSManagedObjectContext охранник пусть contextUserInfoKey = CodingUserInfoKey.managedContext, пусть ManagedObjectContext = decoder.userInfo[contextUserInfoKey] как? НСманажеджедобжектконтекст, letentity = NSEntityDescription.entity(forEntityName: "User", in: ManagedObjectContext) else { FatalError("Не удалось декодировать пользователя!") } self.init (сущность: сущность, вставкаInto: ManagedObjectContext) пусть userInfo = попробуйте decoder.container(keyedBy: UserInfoKeys.self) имя пользователя = попробуйте userInfo.decodeIfPresent(String.self, forKey: .username) user_id = попробуйте userInfo.decode(String.self, forKey: .user_id) }
Эта функция init вставляет новый объект каждый раз, даже если user_id один и тот же.
Как я могу решить эту проблему? Я хочу, чтобы каждая сущность была только одной с user_id.
Мой код такой:
init для общественного удобства (из декодера: Decoder) выдает { // Создание NSEntityDescription с помощью NSManagedObjectContext охранник пусть contextUserInfoKey = CodingUserInfoKey.managedContext, пусть ManagedObjectContext = decoder.userInfo[contextUserInfoKey] как? НСманажеджедобжектконтекст, letentity = NSEntityDescription.entity(forEntityName: "User", in: ManagedObjectContext) else { FatalError("Не удалось декодировать пользователя!") } self.init (сущность: сущность, вставкаInto: ManagedObjectContext) пусть userInfo = попробуйте decoder.container(keyedBy: UserInfoKeys.self) имя пользователя = попробуйте userInfo.decodeIfPresent(String.self, forKey: .username) user_id = попробуйте userInfo.decode(String.self, forKey: .user_id) }
Мобильная версия