Quiero vincular la selección de NSPopUpButton a uno de los valores predefinidos. Para hacerlo más simple, imagina una aplicación de blog: tendría BlogPost
y Category
entidades (Datos principales, aunque no importa) y cada objeto BlogPost
tiene un enlace a uno de los objetos Category
(a través de la propiedad category
).Cómo configurar enlaces para NSPopUpButton
Quiero tener al usuario cambiar la categoría a través NSPopUpButton, así que en mi XI ter, tengo NSArrayController que mantiene todas las categorías posibles y Ato los valores del botón contenido a:
- Bind to: categoriesArrayController clave
- controlador: arrangedObjects clave
- Modelo: título
Esto muy bien puebla emergente con títulos de todas las categorías. También puede unirse objeto seleccionado a:
- Bind to: blogObjectController (o directamente a
Blog
objeto) - regulador dominante: selección clave
- Modelo: categoría
Esto funciona y la categoría correcta se selecciona en ventana emergente, sin embargo changi La selección ng no cambia la categoría bajo la cual se archiva la publicación del blog, sino que cambia el título de la categoría de publicación al valor seleccionado.
Teniendo en cuenta los enlaces anteriores esto realmente tiene sentido, así que mi siguiente paso fue cambiar el enlace de los valores de contenido emergente a solo organizadosObjetos (sin clave de modelo), objeto similarmente seleccionado. Esto funciona y la selección cambiante realmente cambia category
de la publicación del blog a otra. PERO que no muestra título de la categoría en el menú emergente, pero en su lugar muestra el description
de la categoría (que en el núcleo de datos termina con algo como <Category 0x1002b6990> (entity: Category; id: .......)
.
cual también tiene sentido, por lo que introdujo la costumbre NSValueTransformer
(no -reversible). Esto corrige las descripciones de los elementos en el menú emergente, pero luego la selección no funciona. También intenté usar el transformador en el enlace de objetos seleccionado, pero eso solo desactiva mi ventana emergente por completo (tal vez sería necesaria una transformación inversa, pero esto complicaría sustancialmente el transformador).
Me falta algo obvio: ¿es posible lograrlo completamente con enlaces, sin introducir código adicional en cont capa de rodillo?
¡Sin embargo, todos son bienvenidos!
PS: esperanza sobre el texto tiene sentido :)
Eso es todo, Recuerda ahora, gracias :) Estaba confundido porque * Los valores de contenido * estaban deshabilitados, solo * Se permitió el contenido *. – Tom