NSSearchField et bindings
fouf
Membre
ClicCool, a l'aide :why?:
Je souhaite avoir un NSSearchField qui a comme menu les recherches recentes.
J'ai d'abord "binder" NSSearchField comme cela :
- bind to NSUserDefaultsController
- controller key : values
- model key path : recentSearches
Pour l'instant, ca marche, je retrouve bien les resultats dans mon fichier de preferences. La ou ca bloque, c'est quand je veux recuperer ces donnees dans un menu. En effet, ya pas de bindings pour les NSMenu. J'ai essaye avec un NSMenuItem, mais la, ca ne marche pas : le run log me retourne
Comment faire pour m'en depatouiller uniquement avec les bindings ? (sinon je sais comment m'y prendre en codant)
Au secours ClicCool
Je souhaite avoir un NSSearchField qui a comme menu les recherches recentes.
J'ai d'abord "binder" NSSearchField comme cela :
- bind to NSUserDefaultsController
- controller key : values
- model key path : recentSearches
Pour l'instant, ca marche, je retrouve bien les resultats dans mon fichier de preferences. La ou ca bloque, c'est quand je veux recuperer ces donnees dans un menu. En effet, ya pas de bindings pour les NSMenu. J'ai essaye avec un NSMenuItem, mais la, ca ne marche pas : le run log me retourne
Cannot create int from object (essai, essai2) of class NSCFArray
Comment faire pour m'en depatouiller uniquement avec les bindings ? (sinon je sais comment m'y prendre en codant)
Au secours ClicCool
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Mais les NSMenuItem sont complexes et ne se définissent seulement par leur titre mais aussi par une action liée.
La seule solution que je vois pour l'utilisation des bindings dans ton cas est de s'en servir pour maintenir un NSArray des titres d'item et d'utiliser le Key Value Observing avec:
pour détecter tout changement dans la liste qui lancera, à chaque modif de ton NSArray de titres, la méthode:
dans laquelle tu mets à jour ton menu.
Mais tu as sans doutes déjà codé tout ça autrement j'imagine ...
En tout cas, ca m'a permis d'apprendre des trucs sur les menu. Merci ClicCool