J'ai créé un modèle CoreData avec une entité "Nouvelles":Swift 3 | CoreData | Les entités personnalisées
Je l'ai mis à "Manuel/Aucune" et créé un NSManagedObject:
public class News: NSManagedObject {
@NSManaged var id: String
@NSManaged var newsType: Int16
@NSManaged var newsImageUrl: String
@NSManaged var newsVideoUrl: String
@NSManaged var newsTitle: String
@NSManaged var newsDesc: String
}
Je veux passer outre les propriétés de mon entité sans toucher le CoreData Model, juste en faisant ceci:
extension News {
@NSManaged var newsUrl: String
}
Bien sûr, si je faire:
news.newsUrl = ""
je reçois une belle
raison: « - [NSManagedObject setNewsUrl:]: sélecteur non reconnu
Comment puis-je ajouter correctement nouvelles propriétés dans mon entité (sans modifier CoreData Model) et, bien sûr, je veux que cette propriété de nouvelles soit enregistrée dans CoreData?
TY
Vous devez ajouter la propriété à votre entité dans le modèle. – shallowThought
Il est donc maintenant possible d'ajouter une propriété dans un objet NSManagedObject sans modifier le modèle CoreData? Même si des extensions? Cela semble étrange! – Aximem
La colonne ne peut pas exister dans la base de données si elle n'est pas définie dans votre modèle. – shallowThought