Benutzerdefinierter Initialisierer für ein NSManagedObject

Nach den Dokumenten:

Sie sollten init nicht überschreiben. Es wird davon abgeraten, initWithEntity: insertIntoManagedObjectContext zu überschreiben:

und Sie sollten stattdessen awakeFromInsert oder awakeFromFetch verwenden.

Dies ist in Ordnung, wenn ich nur ein Attribut für das aktuelle Datum oder ein ähnliches Datum festlegen möchte. Was ist jedoch, wenn ich ein anderes Objekt einsenden und Attribute basierend auf dessen Informationen festlegen möchte?

In einer NSManagedObject-Unterklasse mit dem Namen 'Item' möchte ich beispielsweise ein initFromOtherThing: (Thing *) -Ding, bei dem der Name des Elements auf den Namen des Dings festgelegt wird. Ich möchte vermeiden, dass ich mich nur daran erinnern muss, den Namen jedes Mal unmittelbar nach dem Erstellen des Elements festzulegen, und dass ich fünfzehn verschiedene Controller-Klassen aktualisieren muss, wenn ich entscheide, dass Item auch ein anderes Standardattribut basierend auf Thing festlegen soll. Dies sind Aktionen, die an das Modell gebunden sind.

Wie soll ich damit umgehen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage