/ / Rappel lorsque NSView est ajouté à NSWindow - macos, cacao, nsview, nswindow, observation de valeur-clé

Rappel lorsque NSView est ajouté à NSWindow - macos, cacao, nsview, nswindow, observation de valeur-clé

Je reçois une NSView d'une bibliothèque tierce. Lorsque je reçois la NSView, elle n'est pas encore ajoutée à une fenêtre NSWindow. Je dois attendre que la bibliothèque tierce ajoute NSView à une fenêtre NSWindow avant d'exécuter une partie de mon code. La bibliothèque tierce ne dispose d'aucune méthode pour me prévenir lorsque cela se produit. Je dois vérifier moi-même cette condition et la solution doit fonctionner sur OSX 10.9 / 10.10 / 10.11.

Ce que j'ai essayé:

  1. KVO sur la propriété "window" dans NSView. Fonctionne très bien, mais malheureusement, la propriété "window" de NSView n’est pas compatible KVO dans OSX 10.9.

  2. Créez un thread et vérifiez périodiquement si la propriété "window" de NSView! = Nil. Malheureusement, cela entraîne un léger retard.

Question:

Existe-t-il des alternatives KVO que je peux utiliser avant le 10.10? Ou d'autres solutions du tout?

Réponses:

-1 pour la réponse № 1

le bon moyen est de créer un NSTimer pour remarquer que la vue est ajoutée à la fenêtre