编程知识 cdmana.com

Analyse approfondie des principes sous - jacents de KVO par iOS

Un.、KVO Introduction

① Concept
  • KVO Nom complet Key Value Observing, Est un mécanisme de notification d'événements fourni par Apple , Permet à un objet d'écouter les modifications d'attributs spécifiques à un autre objet , Et reçoit des événements au fur et à mesure qu'ils changent .
  • Parce que KVO Mécanisme de mise en œuvre de, C'est pour ça que ça marche avec les attributs. ,Généralement hérité de NSObject Tous les objets de KVO.
  • KVO Et NSNotificationCenter Tous. iOS Une mise en œuvre du modèle de l'observateur moyen ,La différence est que, Par rapport à la relation entre la personne observée et l'observateur ,KVO C'est un contre un. ,Et NSNotificationCenter C'est un à plusieurs. ,KVO Pas d'intrusion sur l'objet surveillé , L'écoute peut être réalisée sans modifier son code interne .
  • KVO Vous pouvez écouter les changements d'attributs individuels , Vous pouvez également écouter les modifications des objets de collection .Adoption KVC De mutableArrayValueForKey: Obtenir l'objet proxy de la même manière , Lorsque l'objet interne de l'objet mandataire change ,Je rappelle. KVO Méthodes de surveillance.
② Utiliser
  • Utiliser KVO En trois étapes:
    • Adoption addObserver:forKeyPath:options:context: Méthode observateur enregistré , L'observateur peut recevoir keyPath Événement de changement de propriété ;
    • Mise en œuvre par les observateurs observeValueForKeyPath:ofObject:change:context: Méthodes,Quand keyPath Après le changement de propriété ,KVO Cette méthode est rappelée pour informer l'observateur ;
    • Lorsque l'observateur n'a pas besoin d'écouter ,Peut être appelé removeObserver:forKeyPath: La méthode KVO Supprimer.Il est important de noter que,Appelez removeObserver Avant que l'observateur ne disparaisse ,Sinon, il en résultera Crash.<

版权声明
本文为[ForeverWJ]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/10/20211013211741657J.html

Scroll to Top