Disons que j'ai une « personne » classe NSManagedObject:Est-ce que quelqu'un peut clarifier "refreshObject: mergeChanges: YES" pour moi?
class Person: NSManagedObject {
NSManaged var name:String?
NSManaged var bestFriend:Person?
}
Comment puis-je assurer que la référence à BESTFRIEND comme une « personne » ne crée pas un cycle de référence forte? Je comprends que vous pouvez utiliser refreshObject: mergeChanges pour gérer des références fortes entre des objets CoreData et créer des fautes afin que les références fortes ne persistent pas. Ce que je ne comprends pas, c'est quand je l'utilise, ou où je l'appelle. Est-ce que je l'utilise après avoir d'abord accédé aux objets "Personne"? Est-ce que je l'utilise quand je quitte une vue? Avant ou après un enregistrement ou une suppression? Si quelqu'un pouvait fournir des éclaircissements à ce sujet, je l'apprécierais vraiment. Merci beaucoup!
Qu'essayez-vous d'accomplir? Ne voulez-vous pas persister le 'bestFriend' quand vous persistez' Person'? Ou voulez-vous gérer la mémoire du graphique de l'objet? –
Je veux gérer la mémoire graphique de l'objet pour s'assurer que les cycles de référence forts ne se produisent pas et causer des fuites de mémoire – user3353890