Эта init
функция вставляет новый объект каждый раз, даже если user_id
одинаков.
Как я могу решить эту проблему?Я хочу, чтобы каждая сущность была только одна с user_id.
Мой код такой:
public convenience init(from decoder: Decoder) throws {
// Create NSEntityDescription with NSManagedObjectContext
guard let contextUserInfoKey = CodingUserInfoKey.managedContext,
let managedObjectContext = decoder.userInfo[contextUserInfoKey] as? NSManagedObjectContext,
let entity = NSEntityDescription.entity(forEntityName: "User", in: managedObjectContext) else {
fatalError("Failed to decode User!")
}
self.init(entity: entity, insertInto: managedObjectContext)
let userInfo = try decoder.container(keyedBy: UserInfoKeys.self)
username = try userInfo.decodeIfPresent(String.self, forKey: .username)
user_id = try userInfo.decode(String.self, forKey: .user_id)
}