[娎solu] Combo Box IB-like
cargo
Membre
Bon, la combo box c'est quand même bien pratique pour l'utilisateur. C'est pratique à condition que ce soit dynamique comme dans les bindings panels de IB.
La liste s'allonge au fur et à mesure des ajouts de l'utilisateur mais il n'y a pas de redondance.
Donc soit une entité (CoreData) ou une class A peu importe, dont les instances sont gérées par un arrayController. Disons que A a une propriété P.
Je souhaite que toutes les valeurs de P apparaissent dans la liste de la combo. J'ai bindé la combo sur le controller de A / MKP: P, comme il faut.
Problème : Toutes les valeurs de P apparaissent dans la liste de la combo donc il y a redondance. Si l'utilisateur rentre Paul Pierre Jacques puis encore Paul, Paul va apparaitre 2 fois dans la liste, ce qui n'est pas le cas dans IB par exemple.
Solutions: J'ai essayé une relationship de A vers A (vers elle-même) avec un @distinctUnionOfArray dans un controller vs dans le binding de la combo. J'ai aussi essayé de trouver un prédicat pour trier un controller de A réservé à la liste de la combo mais rien ne marche. Une idée ?
La liste s'allonge au fur et à mesure des ajouts de l'utilisateur mais il n'y a pas de redondance.
Donc soit une entité (CoreData) ou une class A peu importe, dont les instances sont gérées par un arrayController. Disons que A a une propriété P.
Je souhaite que toutes les valeurs de P apparaissent dans la liste de la combo. J'ai bindé la combo sur le controller de A / MKP: P, comme il faut.
Problème : Toutes les valeurs de P apparaissent dans la liste de la combo donc il y a redondance. Si l'utilisateur rentre Paul Pierre Jacques puis encore Paul, Paul va apparaitre 2 fois dans la liste, ce qui n'est pas le cas dans IB par exemple.
Solutions: J'ai essayé une relationship de A vers A (vers elle-même) avec un @distinctUnionOfArray dans un controller vs dans le binding de la combo. J'ai aussi essayé de trouver un prédicat pour trier un controller de A réservé à la liste de la combo mais rien ne marche. Une idée ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il suffit de poster ici pour trouver la réponse soi-même, c'est magique. ;D
Finalement j'ai d'abord testé le @distinctUnionOfObjects sur un textField pour voir si ça gazait (le @sum fonctionne y a pas de raison), et ensuite j'ai réfléchi calmement avec ma tête pour binder la combo.
Voilà le binding de la combo box dynamique IB-like :
content: arrangedObjects.@distinctUnionOfObjects.la_propriété
content values: arrangedObjects.@distinctUnionOfObjects.la_propriété (idem)
value: selection.la_propriété
à la vôtre...
[Edit] lol ça fait des mailto mon binding [/Edit]